更新时间:2023-12-22 GMT+08:00

配置HDFS目的端参数

作业中目的连接为HDFS连接时,目的端作业参数如表1所示。

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

参数名

说明

取值样例

写入目录

写入数据到HDFS服务器的目录。

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

说明:

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

/user/output

文件格式

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

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

CSV格式

重复文件处理方式

当源端为文件类数据源(HTTP/FTP/SFTP/HDFS/OBS)时配置。

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

停止任务

压缩格式

写入文件后,选择对文件的压缩格式。支持以下压缩格式:
  • NONE:不压缩。
  • DEFLATE:压缩为DEFLATE格式。
  • GZIP:压缩为GZIP格式。
  • BZIP2:压缩为BZIP2格式。
  • LZ4:压缩为LZ4格式。
  • SNAPPY:压缩为SNAPPY格式。

SNAPPY

换行符

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

\n

字段分隔符

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

,

使用包围符

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

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

首行为标题行

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

写入到临时文件

将二进制文件先写入到临时文件(临时文件以“.tmp”作为后缀),迁移成功后,再进行rename或move操作,在目的端恢复文件。

作业成功标识文件

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

finish.txt

自定义目录层次

支持用户自定义文件的目录层次。例如:【表名】/【年】/【月】/【日】/【数据文件名】. csv

-

目录层次

指定文件的目录层次,支持时间宏(时间格式为yyyy/MM/dd)。不填默认为不带层次目录。

说明:

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

${dateformat(yyyy/MM/dd, -1, DAY)}

加密方式

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

选择是否对写入的数据进行加密:
  • 无:不加密,直接写入数据。
  • AES-256-GCM:使用长度为256byte的AES对称加密算法,目前加密算法只支持AES-256-GCM(NoPadding)。该参数在目的端为加密,在源端为解密。

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

AES-256-GCM

数据加密密钥

“加密方式”选择“AES-256-GCM”时显示该参数,密钥由长度64的十六进制数组成。

请您牢记这里配置的“数据加密密钥”,解密时的密钥与这里配置的必须一致。如果不一致系统不会报异常,只是解密出来的数据会错误。

DD0AE00DFECD78BF051BCFDA25BD4E320DB0A7AC75A1F3FC3D3C56A457DCDC1B

初始化向量

“加密方式”选择“AES-256-GCM”时显示该参数,初始化向量由长度32的十六进制数组成。

请您牢记这里配置的“初始化向量”,解密时的初始化向量与这里配置的必须一致。如果不一致系统不会报异常,只是解密出来的数据会错误。

5C91687BA886EDCD12ACBC3FF19A3C3F

HDFS文件编码只能为“UTF-8”,故HDFS不支持设置文件编码类型。