HDFS sink

简述

Easystream 支持输出到 HDFS,支持写猛犸 HDFS,支持 Kerberos 认证,支持关联猛犸 KeyTab。

示例

SQL案例1: 关联猛犸认证文件 & format=parquet:

  1. CREATE TABLE hdfs_sink (
  2. v_part string,
  3. v_string STRING,
  4. v_varchar VARCHAR,
  5. v_boolean boolean,
  6. v_byte TINYINT,
  7. v_short SMALLINT,
  8. v_int int,
  9. v_long BIGINT,
  10. v_float FLOAT,
  11. v_double DOUBLE
  12. ) WITH(
  13. 'connector.type' = 'filesystem',
  14. 'connector.property-version' = '1',
  15. 'path' = 'hdfs://bdms-test/user/sloth/test_file_sink',
  16. 'update-mode' = 'append',
  17. 'hdfs-site' = 'mammut-hdfs-site.xml',
  18. 'core-site' = 'mammut-core-site.xml',
  19. 'is.related.mammunt' = 'true',
  20. 'format' = 'parquet',
  21. 'compression'='none',
  22. 'row.group.size'='1024',
  23. 'part.prefix' = 'newpart',
  24. 'part.suffix' = '_success',
  25. 'partition.keys' = 'v_part',
  26. 'partition.default-name' = '_DEFAULT_PART_'
  27. );

With 参数

参数 注释说明 备注
connector.type 数据源类型 必填:filesystem
connector.property-version connector 配置的版本 必填 :1
path sink file path 必填:hdfs://*
update-mode update 模式 必填:append
hdfs-site hdfs-site.xml 文件名 必填
core-site core-site.xml 文件名 必填
is.related.mammunt krb 认证文件是否关联猛犸 必填:false、true
krb.conf krb conf 文件名 is.related.mammunt=false 时必填
krb.keytab keytab 文件名 is.related.mammunt=false 时必填
krb.principal principal is.related.mammunt=false 时必填
part.prefix part 文件名前缀 选填;part.prefix=newpart,文件名:newpart-0-0
part.suffix part 文件名后缀 选填;part.suffix=success,文件名:part-0-0success
partition.keys 分区字段,需要在 ddl 中定义字段 选填
partition.default-name 分区字段值为空时,使用该值 选填
format sink file 格式 row、json、parquet, format=row 时多个字段用逗号隔开
bucket.check.interval bucket的检查频率 选填;default: 60 * 1000, 单位:ms,format=row、json 时生效
part.size 达到文件大小后生成 part 文件 选填,、;default: 1024 1024 128, 单位:字节,format=row、json 时生效
rollover.interval 从创建到现在多少时间后,生成 part 文件 选填;default: 60 * 1000, 单位:ms,format=row、jso 时生效
inactivity.interval 超过多少时间不活跃文件,生成 part 文件 选填;default: 60 * 1000, 单位:ms,format=row、json 时生效
charset 字符串编码 选填;default: UTF-8,format=row 时生效
row.group.size parquet 文件大小 选填;default: 1024 1024 128, 单位:字节,format=parquet 时生效
compression 压缩方式 format=parquet 时必填:none, snappy, gzip, lzo, brotli, lz4, zstd; format=json 或 row 时选填:lzo、lzop