更新时间:2024-08-05 GMT+08:00

配置OBS源端参数

作业中源连接为OBS连接时,源端作业参数如表1所示。

高级属性里的参数为可选参数,默认隐藏,单击界面上的“显示高级属性”后显示。

表1 源端为OBS时的作业参数

参数类型

参数名

说明

取值样例

基本参数

桶名

待迁移数据所在的桶名。

BUCKET_2

源目录或文件

“列表文件”选择为“否”时,才有该参数。

待迁移数据的目录或单个文件路径。文件路径支持输入多个文件(最多50个),默认以“|”分隔,也可以自定义文件分隔符,具体请参见文件列表迁移

待迁移数据的目录,将迁移目录下的所有文件(包括所有嵌套子目录及其子文件)。

该参数支持配置为时间宏变量,且一个路径名中可以有多个宏定义变量。使用时间宏变量和定时任务配合,可以实现定期同步新增数据,详细说明请参见使用时间宏变量完成增量同步

说明:

如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。

FROM/example.csv

文件格式

指CDM以哪种格式解析数据,可选择以下格式:
  • CSV格式:以CSV格式解析源文件,用于迁移文件到数据表的场景。
  • 二进制格式:选择“二进制格式”时不解析文件内容直接传输,不要求文件格式必须为二进制。适用于文件到文件的原样复制。
  • JSON格式:以JSON格式解析源文件,一般都是用于迁移文件到数据表的场景。

CSV格式

列表文件

“文件格式”选择为“二进制格式”时,才有该参数。

打开列表文件功能时,支持读取OBS桶中文件(如txt文件)的内容作为待迁移文件的列表。该文件中的内容应为待迁移文件的绝对路径(不支持目录),例如直接写为如下内容:

/052101/DAY20211110.data

/052101/DAY20211111.data

列表文件源连接

“列表文件”选择为“是”时,才有该参数。可选择列表文件所在的OBS连接。

OBS_test_link

列表文件OBS桶

“列表文件”选择为“是”时,才有该参数。该参数表示列表文件所在的OBS桶名。

01

列表文件或目录

“列表文件”选择为“是”时,才有该参数。该参数表示列表文件所在的OBS桶中的绝对路径或目录。

此处建议选择为文件的绝对路径。当选择为目录时,也支持迁移子目录中的文件,但如果目录下文件量过大,可能会导致集群内存不足。

/0521/Lists.txt

JSON类型

“文件格式”选择为“JSON格式”时,才有该参数。JSON文件中存储的JSON对象的类型,可以选择“JSON对象”“JSON数组”

JSON对象

记录节点

“文件格式”选择为“JSON格式”并且“JSON类型”“JSON对象”时,才有该参数。对该JSON节点下的数据进行解析,如果该节点对应的数据为JSON数组,那么系统会以同一模式从该数组中提取数据。多层嵌套的JSON节点以字符“.”分割。

data.list

高级属性

换行符

文件中的换行符,默认自动识别“\n”“\r”“\r\n”。当“文件格式”选择为“CSV格式”时,才有该参数。

\n

字段分隔符

文件中的字段分隔符,使用Tab键作为分隔符请输入“\t”。当“文件格式”选择为“CSV格式”时,才有该参数。

,

使用包围符

选择“是”时,包围符内的字段分隔符会被视为字符串值的一部分,目前CDM默认的包围符为:"。

使用转义符

选择“是”时,CSV数据行中的\作为转义符使用。 选择“否”时,CSV中的\作为数据不会进行转义。CSV只支持\作为转义符。

使用正则表达式分隔字段

选择是否使用正则表达式分隔字段,当选择“是”时,“字段分隔符”参数无效。当“文件格式”选择为“CSV格式”时,才有该参数。

正则表达式

分隔字段的正则表达式,正则表达式写法请参考正则表达式分隔半结构化文本

^(\d.*\d) (\w*) \[(.*)\] ([\w\.]*) (\w.*).*

前N行为标题行

“文件格式”选择“CSV格式”时才有该参数。在迁移CSV文件到表时,CDM默认是全部写入,如果该参数选择“是”,CDM会将CSV文件的前N行数据作为标题行,不写入目的端的表。

标题行数

“前N行为标题行”选择“是”时才有该参数。抽取数据时将被跳过的标题行数。

说明:

标题行数不为空,取值为1-99之间的整数。

1

解析首行为列名

“前N行为标题行”选择“是”时才有该参数。选择是否将标题的首行解析为列名,在配置字段映射时会在原字段中显示该列名。

说明:
  • 标题行数大于1时,当前仅支持解析标题的首行作为列名。
  • 列名不支持“&”字符,否则会导致作业迁移失败,需修改CSV文件“&”字符即可正常迁移。

编码类型

文件编码类型,例如:“UTF-8”“GBK”。只有文本文件可以设置编码类型,当“文件格式”选择为“二进制格式”时,该参数值无效。

GBK

压缩格式

选择对应压缩格式的源文件:
  • 无:表示传输所有格式的文件。
  • GZIP:表示只传输GZIP格式的文件。
  • ZIP:表示只传输ZIP格式的文件。
  • TAR.GZ:表示只传输TAR.GZ格式的文件。

压缩文件后缀

压缩格式非无时,显示该参数。

该参数需要解压缩的文件后缀名。当一批文件中以该值为后缀时,才会执行解压缩操作,否则保持原样传输。当输入*或为空时,所有文件都会被解压。

*

启动作业标识文件

选择是否开启作业标识文件的功能。当源端路径下存在启动作业的标识文件时才启动作业,否则会挂起等待一段时间,等待时长在下方“等待时间”中配置。

标识文件名

选择开启作业标识文件的功能时,需要指定启动作业的标识文件名。指定文件后,只有在源端路径下存在该文件的情况下才会运行任务。该文件本身不会被迁移。

ok.txt

等待时间

选择开启作业标识文件的功能时,如果源路径下不存在启动作业的标识文件,作业挂机等待的时长,当超时后任务会失败。

等待时间设置为0时,当源端路径下不存在标识文件,任务会立即失败。

单位:秒。

10

文件分隔符

“源目录或文件”参数中如果输入的是多个文件路径,CDM使用这里配置的文件分隔符来区分各个文件,默认为|。

|

过滤类型

满足过滤条件的路径或文件会被传输,该参数有“无”“通配符”“正则表达式”三种选择。具体使用方法可参见文件增量迁移

通配符

目录过滤器

“过滤类型”选择“通配符”“正则表达式”时,用通配符过滤目录,符合过滤器规则的目录,允许进行迁移。支持配置多个路径,中间使用“,”分隔。

说明:

如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。

*input

文件过滤器

“过滤类型”选择“通配符”“正则表达式”时,用通配符过滤目录下的文件,符合过滤器规则的文件,允许进行迁移。支持配置多个文件,中间使用“,”分隔。

说明:

如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。

*.csv,*.txt

时间过滤

选择“是”时,可以根据文件的修改时间,选择性的传输文件。

起始时间

“过滤类型”选择“时间过滤器”时,可以指定一个时间值,当文件的修改时间大于等于该时间才会被传输,输入的时间格式需为“yyyy-MM-dd HH:mm:ss”

该参数支持配置为时间宏变量,例如${timestamp(dateformat(yyyy-MM-dd HH:mm:ss,-90,DAY))}表示:只迁移最近90天内的文件。

说明:

如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。

2019-06-01 00:00:00

终止时间

“过滤类型”选择“时间过滤器”时,可以指定一个时间值,当文件的修改时间小于该时间才会被传输,输入的时间格式需为“yyyy-MM-dd HH:mm:ss”

该参数支持配置为时间宏变量,例如${timestamp(dateformat(yyyy-MM-dd HH:mm:ss))}表示:只迁移修改时间为当前时间以前的文件。

说明:

如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。

2019-07-01 00:00:00

忽略不存在原路径/文件

如果将其设为是,那么作业在源路径不存在的情况下也能成功执行。

MD5文件名后缀

“文件格式”选择“二进制格式”时,该参数才显示。

校验CDM抽取的文件,是否与源文件一致,详细请参见MD5校验文件一致性

.md5

  1. 迁移文件或对象时支持文件级增量迁移(通过配置跳过重复文件实现),但不支持断点续传。

    例如要迁移3个文件,第2个文件迁移到一半时由于网络原因失败,再次启动迁移任务时,会跳过第1个文件,从第2个文件开始重新传,但不能从第2个文件失败的位置重新传。

  2. 文件迁移时,单个任务支持千万数量的文件,如果待迁移目录下文件过多,建议拆分到不同目录并创建多个任务。