更新时间:2024-10-18 GMT+08:00

配置OBS目的端参数

支持使用CSV、CarbonData或二进制格式批量传输大量文件到OBS。

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

参数类型

参数名

说明

取值样例

基本参数

桶名

写入数据的OBS桶名。

bucket_2

写入目录

写入数据到OBS服务器的目录,目录前面不加“/”

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

说明:

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

directory/

文件格式

传输数据时使用的格式。其中CSV和JSON仅支持迁移到数据表场景,二进制格式适用于文件迁移场景。例如:CSV格式。

写入后的文件格式,可选择以下文件格式:
  • CSV格式:按CSV格式写入,适用于数据表到文件的迁移。
  • Parquet格式:按Parquet格式写入,适用于数据表到文件的迁移。
  • ORC格式:按ORC格式写入,适用于数据表到文件的迁移。
  • 二进制格式:选择“二进制格式”时不解析文件内容直接传输,CDM会原样写入文件,不改变原始文件格式,适用于文件到文件的迁移。

如果是文件类数据源(FTP/SFTP/HDFS/OBS)之间相互迁移数据,此处的“文件格式”只能选择与源端的文件格式一致。

说明:
  • 当源端为MRS Hive数据源时,仅支持配置CSV格式。
  • 当源端为FTP/SFTP数据源时,仅支持配置二进制格式。

CSV格式

重复文件处理方式

“文件格式”“CSV”时不存在该参数。

  • (二进制格式时)对于Binary,CSV的文件迁移场景,判断条件为文件名相同,文件大小相同。
    • REPLACE:替换重复文件。
    • SKIP:跳过重复文件。
    • ABANDON:停止任务。
  • 对于Parquet、ORC的结构化集成场景,判断条件为自定义文件名前缀匹配。
    • REPLACE:写入前清理自定义文件名前缀匹配的所有文件。例如“自定义文件名”:“abc”,将清理所有abc开头的文件。
    • APPEND:写入前不进行任何处理
    • ABANDON:如果目录下存在自定义文件名前缀匹配的文件,直接报错。

REPLACE

高级属性

字段分隔符

文件中的字段分隔符。“文件格式”“二进制格式”时该参数值无效。

,

写入文件大小

源端为数据库时该参数才显示,支持按大小分成多个文件存储,避免导出的文件过大,单位为MB。

1024

编码类型

文件编码类型,例如:“UTF-8”“GBK”“文件格式”“二进制格式”时该参数值无效。

GBK

首行为标题行

从关系型数据库导出数据到OBS,“文件格式”“CSV格式”时,才有该参数。

在迁移表到CSV文件时,CDM默认是不迁移表的标题行,如果该参数选择“是”,CDM在才会将表的标题行数据写入文件。

校验MD5值

计算源文件的MD5值,并与OBS返回的MD5值进行校验。

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

如果源端已经存在MD5文件,则直接读取源端的MD5文件与OBS返回的MD5值进行校验。例如:否

记录校验结果

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

将MD5的校验结果写入到OBS。记录每个文件的校验结果。例如:否

作业成功标识文件

当作业执行成功时,会在写入目录下生成一个标识文件,文件名由用户指定。不指定时默认关闭该功能。

finish.txt

使用包围符

“文件格式”“CSV格式”,才有该参数,用于将数据库的表迁移到文件系统的场景。

选择“是”时,如果源端数据表中的某一个字段内容包含字段分隔符或换行符,写入目的端时CDM会使用双引号(")作为包围符将该字段内容括起来,作为一个整体存储,避免其中的字段分隔符误将一个字段分隔成两个,或者换行符误将字段换行。例如:数据库中某字段为hello,world,使用包围符后,导出到CSV文件的时候数据为"hello,world"。

自定义目录层次

选择“是”时,支持迁移后的文件按照自定义的目录存储。即只迁移文件,不迁移文件所归属的目录。

目录层次

自定义迁移后文件的存储路径,支持时间宏变量。

说明:

源端为关系型数据库数据源时,目录层次为源端表名+自定义目录,其他场景下为自定义目录。

${dateformat(yyyy-MM-dd HH:mm:ss, -1, DAY)}

压缩格式

“文件格式”“CSV”时不存在该参数。

选择对应压缩格式的源文件:

  • 无:表示传输所有格式的文件。
  • GZIP:表示只传输GZIP格式的文件。

加密方式

选择是否对上传的数据进行加密,以及加密方式:
  • 无:不加密,直接写入数据。
  • KMS:使用数据加密服务中的KMS进行加密。如果启用KMS加密则无法进行数据的MD5校验。

详细使用方法请参见迁移文件时加解密

KMS

KMS ID

写入文件时加密使用的密钥,“加密方式”选择“KMS”时显示该参数。单击输入框后面的,可以直接选择在数据加密服务中已创建好的KMS密钥。

  • 当使用与CDM集群相同项目下的KMS密钥时,不需要修改下面的“项目ID”参数。
  • 当用户使用其它项目下的KMS密钥时,需要修改下面的“项目ID”参数。

53440ccb-3e73-4700-98b5-71ff5476e621

项目ID

KMS ID所属的项目ID,该参数默认值为当前CDM集群所属的项目ID。

  • “KMS ID”与CDM集群在同一个项目下时,这里的“项目ID”保持默认即可。
  • “KMS ID”使用的是其它项目下的KMS ID时,这里需要修改为KMS所属的项目ID。

9bd7c4bd54e5417198f9591bef07ae67

复制Content-Type属性

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

上传对象时复制源文件的“Content-Type”属性,主要用于静态网站的迁移场景。不支持写入到归档存储的桶。

自定义文件名

从关系型数据库导出数据到OBS,且“文件格式”“CSV格式”时,才有该参数。

用户可以通过该参数自定义OBS端生成的文件名,支持以下自定义方式:
  • 字符串,支持特殊字符。例如“cdm#”,则生成的文件名为“cdm#.csv”
  • 时间宏,例如“${timestamp()}”,则生成的文件名为“1554108737.csv”
  • 表名宏,例如“${tableName}”,则生成的文件名为源表名“sqltabname.csv”
  • 版本宏,例如“${version}”,则生成的文件名为集群版本号“2.9.2.200.csv”
  • 字符串和宏(时间宏/表名宏/版本宏)任意组合,例如“cdm#${timestamp()}_${version}”,则生成的文件名为“cdm#1554108737_2.9.2.200.csv”

cdm

Blob开关

从关系型数据库导出数据到OBS,才有该参数。

启用后将会以根目录-表名-数据类型-数据的文件夹模型生成文件。例如:raw_schema/tbl_student/datas/tbl_student_1.csv

Blog文件扩展名

“文件夹模式”“是”时,才有该参数。文件夹模式下自定义Blob/Clog数据的文件扩展名。

.dat/.jpg/.png