云数据迁移 CDM-配置FTP/SFTP源端参数
配置FTP/SFTP源端参数
作业中源连接为FTP/SFTP连接时,源端作业参数如表1所示。
高级属性里的参数为可选参数,默认隐藏,单击界面上的“显示高级属性”后显示。
参数类型 |
参数名 |
说明 |
取值样例 |
---|---|---|---|
基本参数 |
源目录或文件 |
待迁移数据的目录或单个文件路径。文件路径支持输入多个文件(最多50个),默认以“|”分隔,也可以自定义文件分隔符,具体请参见文件列表迁移。 待迁移数据的目录,将迁移目录下的所有文件(包括所有嵌套子目录及其子文件)。 该参数支持配置为时间宏变量,且一个路径名中可以有多个宏定义变量。使用时间宏变量和定时任务配合,可以实现定期同步新增数据,详细说明请参见使用时间宏变量完成增量同步。
说明:
如果配置了时间宏变量,通过 DataArts Studio 数据开发调度 CDM 迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 |
/ftp/a.csv|/ftp/b.txt |
文件格式 |
指CDM以哪种格式解析数据,可选择以下格式:
说明:
当目的端为OBS数据源时,仅支持配置二进制格式。 |
CSV格式 |
|
JSON类型 |
当“文件格式”选择为“JSON格式”时,才有该参数。JSON文件中存储的JSON对象的类型,可以选择“JSON对象”或“JSON数组”。 |
JSON对象 |
|
记录节点 |
当“文件格式”选择为“JSON格式”并且“JSON类型”为“JSON对象”时,才有该参数。对该JSON节点下的数据进行解析,如果该节点对应的数据为JSON数组,那么系统会以同一模式从该数组中提取数据。多层嵌套的JSON节点以字符“.”分割。 |
data.list |
|
高级属性 |
使用rfc4180解析器 |
当“文件格式”选择为“CSV格式”时,才有该参数。是否使用rfc4180解析器解析CSV文件。 |
否 |
换行符 |
文件中的换行符,默认自动识别“\n”、“\r”或“\r\n”。当“文件格式”选择为“CSV格式”时,才有该参数。 |
\n |
|
字段分隔符 |
文件中的字段分隔符,使用Tab键作为分隔符请输入“\t”。当“文件格式”选择为“CSV格式”时,才有该参数。 |
, |
|
使用包围符 |
选择“是”时,包围符内的字段分隔符会被视为字符串值的一部分,目前CDM默认的包围符为:"。 |
否 |
|
使用转义符 |
选择“是”时,CSV数据行中的\作为转义符使用。 选择“否”时,CSV中的\作为数据不会进行转义。CSV只支持\作为转义符。 |
是 |
|
使用正则表达式分隔字段 |
选择是否使用正则表达式分隔字段,当选择“是”时,“字段分隔符”参数无效。当“文件格式”选择为“CSV格式”时,才有该参数。 |
是 |
|
正则表达式 |
当“使用正则表达式分隔字段”选择为“是”时,才有该参数。 分隔字段的正则表达式,正则表达式写法请参考正则表达式分隔半结构化文本。 |
^(\d.*\d) (\w*) \[(.*)\] ([\w\.]*) (\w.*).* |
|
首行为标题行 |
“文件格式”选择“CSV格式”时才有该参数。在迁移CSV文件到表时,CDM默认是全部写入,如果该参数选择“是”,CDM会将CSV文件的前N行数据作为标题行,不写入目的端的表。 |
是 |
|
编码类型 |
文件编码类型,例如:“UTF-8”或“GBK”。只有文本文件可以设置编码类型,当“文件格式”选择为“二进制格式”时,该参数值无效。 |
UTF-8 |
|
压缩格式 |
选择对应压缩格式的源文件:
|
无 |
|
压缩文件后缀 |
压缩格式非无时,显示该参数。 该参数需要解压缩的文件后缀名。当一批文件中以该值为后缀时,才会执行解压缩操作,否则保持原样传输。当输入*或为空时,所有文件都会被解压。 |
* |
|
启动作业标识文件 |
选择是否开启作业标识文件的功能。当源端路径下存在启动作业的标识文件时才启动作业,否则会挂起等待一段时间,等待时长在下方“等待时间”中配置。 |
是 |
|
文件分隔符 |
“源目录或文件”参数中如果输入的是多个文件路径,CDM使用这里配置的文件分隔符来区分各个文件,默认为|。 |
| |
|
标识文件名 |
选择开启作业标识文件的功能时,需要指定启动作业的标识文件名。指定文件后,只有在源端路径下存在该文件的情况下才会运行任务。该文件本身不会被迁移。 |
ok.txt |
|
等待时间 |
选择开启作业标识文件的功能时,如果源路径下不存在启动作业的标识文件,作业挂机等待的时长,当超时后任务会失败。 等待时间设置为0时,当源端路径下不存在标识文件,任务会立即失败。 单位:秒。 |
10 |
|
过滤类型 |
满足过滤条件的路径或文件会被传输,该参数有“无”、“通配符”和“正则表达式”三种选择。具体使用方法可参见文件增量迁移。 |
无 |
|
目录过滤器 |
“过滤类型”选择“通配符”和“正则表达式”时,符合过滤器规则的目录,允许进行迁移。支持配置多个路径,中间使用“,”分隔。
说明:
如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 |
*input,*out |
|
文件过滤器 |
“过滤类型”选择“通配符”和“正则表达式”时,符合过滤器规则的文件,允许进行迁移。支持配置多个文件,中间使用“,”分隔。
说明:
如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 |
*.csv |
|
时间过滤 |
选择“是”时,可以根据文件的修改时间,选择性的传输文件。 |
是 |
|
起始时间 |
“时间过滤”选择“是”时,可以指定一个时间值,当文件的修改时间大于等于该时间才会被传输,输入的时间格式需为“yyyy-MM-dd HH:mm:ss”。 该参数支持配置为时间宏变量,例如${timestamp(dateformat(yyyy-MM-dd HH:mm:ss,-90,DAY))}表示:只迁移最近90天内的文件。
说明:
如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 |
2019-07-01 00:00:00 |
|
终止时间 |
“时间过滤”选择“是”时,可以指定一个时间值,当文件的修改时间小于该时间才会被传输,输入的时间格式需为“yyyy-MM-dd HH:mm:ss”。 该参数支持配置为时间宏变量,例如${timestamp(dateformat(yyyy-MM-dd HH:mm:ss))}表示:只迁移修改时间为当前时间以前的文件。
说明:
如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 |
2019-07-30 00:00:00 |
|
忽略不存在原路径/文件 |
如果将其设为“是”,那么作业在源路径不存在的情况下也能成功执行。 |
否 |
|
标识文件类型 |
选择开启作业标识文件的功能时,该参数才显示。
|
MARK_DOING |
|
是否跳过空行 |
“文件格式”选择“CSV格式”时,该参数才显示。 如果某行数据为空,则跳过此行。 |
否 |
|
null值 |
“文件格式”选择“二进制格式”时,该参数才显示。 由于文本文件中无法用字符串定义null值,此配置项定义将何种字符串标识为null。 |
否 |
|
MD5文件名后缀 |
“文件格式”选择“二进制格式”时,该参数才显示。 校验CDM抽取的文件,是否与源文件一致,详细请参见MD5校验文件一致性。 |
.md5 |