作业中目的连接为配置HDFS连接时,即导入数据到以下数据源时,目的端作业参数如下表所示。
表 HDFS作为目的端时的作业参数
参数名 | 说明 | 取值样例 |
---|---|---|
写入目录 | 写入数据到HDFS服务器的目录。 该参数支持配置为时间宏变量,且一个路径名中可以有多个宏定义变量。使用时间宏变量和定时任务配合,可以实现定期同步新增数据。 |
/user/output |
文件格式 | 写入后的文件格式,可选择以下文件格式: CSV格式:按CSV格式写入,适用于数据表到文件的迁移。 二进制格式:选择“二进制格式”时不解析文件内容直接传输,CDM会原样写入文件,不改变原始文件格式,适用于文件到文件的迁移。 如果是文件类数据源(FTP/SFTP/HDFS/OBS)之间相互迁移数据,此处的“文件格式”只能选择与源端的文件格式一致。 |
CSV格式 |
重复文件处理方式 | 只有文件名和文件大小都相同才会判定为重复文件。写入时如果出现文件重复,可选择如下处理方式: 替换重复文件 跳过重复文件 停止任务 |
停止任务 |
压缩格式 | 写入文件后,选择对文件的压缩格式。支持以下压缩格式: 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不支持设置文件编码类型。