数据湖探索 DLI-DIS输入流:关键字

时间:2023-11-10 09:20:50

关键字

表1 关键字说明

参数

是否必选

说明

type

数据源类型,“dis”表示数据源为数据接入服务。

region

数据所在的DIS区域。

ak

访问密钥ID(Access Key ID)。访问密钥获取方式请参见我的凭证

sk

Secret Access Key,与访问密钥ID结合使用的密钥。访问密钥获取方式请参见我的凭证

channel

数据所在的DIS通道名称。

partition_count

数据所在的DIS通道分区数。该参数和partition_range参数不能同时配置。当该参数没有配置的时候默认读取所有partition。

partition_range

指定作业从DIS通道读取的分区范围。该参数和partition_count参数不能同时配置。当该参数没有配置的时候默认读取所有partition。

partition_range = "[0:2]"时,表示读取的分区范围是1-3,包括分区1、分区2和分区3。

encode

数据编码格式,可选为“csv”“json”“xml”“email”“blob”“user_defined”

  • 若编码格式为“csv”,则需配置“field_delimiter”属性。
  • 若编码格式为“json”,则需配置“json_config”属性。
  • 若编码格式为“xml”,则需配置“xml_config”属性。
  • 若编码格式为“email”,则需配置“email_key”属性。
  • 若编码格式为“blob”,表示不对接收的数据进行解析,流属性仅能有一个且数据格式为ARRAY[TINYINT]。
  • 若编码格式为“user_defined”,则需配置“encode_class_name”“encode_class_parameter”属性。

field_delimiter

属性分隔符,仅当编码格式为csv时该参数需要填写,例如配置为“,”。

quote

可以指定数据格式中的引用符号,在两个引用符号之间的属性分隔符会被当做普通字符处理。

  • 当引用符号为双引号时,请设置quote = "\u005c\u0022"进行转义。
  • 当引用符号为单引号时,则设置quote = "'"。
说明:
  • 目前仅适用于CSV格式。
  • 设置引用符号后,必须保证每个字段中包含0个或者偶数个引用符号,否则会解析失败。

json_config

当编码格式为json时,用户需要通过该参数来指定json字段和流定义字段的映射关系,格式为“field1=data_json.field1; field2=data_json.field2; field3=$”,其中field3=$表示field3的内容为整个json串。

xml_config

当编码格式为xml时,用户需要通过该参数来指定xml字段和流定义字段的映射关系,格式为“field1=data_xml.field1; field2=data_xml.field2”。

email_key

当编码格式为email时,用户需要通过该参数来指定需要提取的信息,需要列出信息的key值,需要与流定义字段一一对应,多个key值时以逗号分隔,例如“Message-ID, Date, Subject, body”,其中由于邮件正文没有关键字,DLI规定其关键字为“body”。

encode_class_name

当encode为user_defined时,需配置该参数,指定用户自实现解码类的类名(包含完整包路径),该类需继承类DeserializationSchema。

encode_class_parameter

当encode为user_defined时,可以通过配置该参数指定用户自实现解码类的入参,仅支持一个string类型的参数。

offset

  • 当启动作业后再获取数据,则该参数无效。
  • 当获取数据后再启动作业,用户可以根据需求设置该参数的数值。

    例如当offset= "100"时,则表示DLI从DIS服务中的第100条数据开始处理。

start_time

DIS数据读取起始时间。

  • 当该参数配置时则从配置的时间开始读取数据,有效格式为yyyy-MM-dd HH:mm:ss。
  • 当没有配置start_time也没配置offset的时候,读取最新数据。
  • 当没有配置start_time但配置了offset的时候,则从offset开始读取数据。

enable_checkpoint

是否启用checkpoint功能,可配置为true(启用)或者false(停用), 默认为false。

checkpoint_app_name

DIS服务的消费者标识,当不同作业消费相同通道时,需要区分不同的消费者标识,以免checkpoint混淆。

checkpoint_interval

DIS源算子做checkpoint的时间间隔,单位秒,默认为60。

support.huaweicloud.com/sqlref-flink-dli/dli_08_0235.html