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

配置OBS目的端参数

作业中目的连接为OBS连接时,即导入数据到云服务OBS时,目的端作业参数如表1所示。

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

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

参数类型

参数名

说明

取值样例

基本参数

桶名

写入数据的OBS桶名。

bucket_2

写入目录

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

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

说明:

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

directory/

文件格式

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

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

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

CSV格式

重复文件处理方式

当源端为HDFS数据源时配置。

只有文件名和文件大小都相同才会判定为重复文件。写入时如果出现文件重复,可选择如下处理方式:
  • 替换重复文件
  • 跳过重复文件
  • 停止任务

具体使用方法可参见文件增量迁移

跳过重复文件

高级属性

加密方式

选择是否对上传的数据进行加密,以及加密方式:
  • 无:不加密,直接写入数据。
  • 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属性,主要用于静态网站的迁移场景。

归档存储的桶不支持设置Content-Type属性,所以如果开启了该参数,目的端选择写入的桶时,必须选择非归档存储的桶。

换行符

文件中的换行符,默认自动识别“\n”“\r”“\r\n”“文件格式”“二进制格式”时该参数值无效。

\n

字段分隔符

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

,

写入文件大小

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

1024

校验MD5值

使用“二进制格式”传输文件时,才能校验MD5值。选择校验MD5值时,无法使用KMS加密。

计算源文件的MD5值,并与OBS返回的MD5值进行校验。如果源端已经存在MD5文件,则直接读取源端的MD5文件与OBS返回的MD5值进行校验,具体请参见MD5校验文件一致性

记录校验结果

当选择校验MD5值时,可以选择是否记录校验结果。

校验结果写入连接

可以指定任意一个OBS连接,将MD5校验结果写入该连接的桶下。

obslink

OBS桶

写入MD5校验结果的OBS桶。

cdm05

写入目录

写入MD5校验结果的目录。

/md5/

编码类型

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

GBK

使用包围符

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

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

首行为标题行

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

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

作业成功标识文件

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

finish.txt

文件夹模式

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

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

Blog/Clog文件扩展名

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

.dat/.jpg/.png

自定义目录层次

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

目录层次

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

说明:

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

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

自定义文件名

从关系型数据库导出数据到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