HDFS sink

简述

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

示例

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

CREATE TABLE hdfs_sink (
  v_part string,
  v_string STRING,
  v_varchar VARCHAR,
  v_boolean boolean,
  v_byte TINYINT,
  v_short SMALLINT,
  v_int int,
  v_long BIGINT,
  v_float FLOAT,
  v_double DOUBLE
) WITH(
  'connector.type' = 'filesystem',
  'connector.property-version' = '1',
  'path' = 'hdfs://bdms-test/user/sloth/test_file_sink',
  'update-mode' = 'append',
  'hdfs-site' = 'mammut-hdfs-site.xml',
  'core-site' = 'mammut-core-site.xml',
  'is.related.mammunt' = 'true',
  'format' = 'parquet',
  'compression'='none',
  'row.group.size'='1024',
  'part.prefix' = 'newpart',
  'part.suffix' = '_success',
  'partition.keys' = 'v_part',
  'partition.default-name' = '_DEFAULT_PART_'
);

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