华为云用户手册

  • 参数说明 HDFS作业参数说明 参数 是否必选 类型 说明 fromJobConfig.inputDirectory 是 String 待抽取数据的路径,例如:“/data_dir”。 fromJobConfig.inputFormat 是 枚举 传输数据时所用的文件格式,目前支持以下文件格式: CS V_FILE:CSV格式。 PARQUET_FILE:PARQUET格式。 BINARY_FILE:二进制格式。 当选择“BINARY_FILE”时,目的端也必须为文件系统。 fromJobConfig.columnList 否 String 需要抽取的列号,列号之间使用“&”分割,并由小到大排序,例如:“1&3&5”。 fromJobConfig.lineSeparator 否 String 文件中的换行符,默认自动识别"\\n"、"\\r"或"\\r\\n"。手动配置特殊字符,如空格回车需使用URL编码后的值。或通过编辑作业json方式配置,无需URL编码。 fromJobConfig.fieldSeparator 否 String 字段分隔符,当文件格式为“CSV_FILE”时此参数有效,默认值为:“,”。 fromJobConfig.quoteChar 否 Boolean 是否使用包围符,选择“true”时,包围符内的字段分隔符会被视为字符串值的一部分,目前 CDM 默认的包围符为:"。 fromJobConfig.regexSeparator 否 Boolean 是否使用正则表达式分割字段,当文件格式为“CSV_FILE”时此参数有效。 fromJobConfig.encodeType 否 String 编码类型,例如:“UTF_8”或“GBK”。 fromJobConfig.firstRowAsHeader 否 Boolean 是否默认首行为标题行,当文件格式为“CSV_FILE”时此参数有效。在迁移CSV文件到表时,CDM默认是全部写入,当该参数选择“true”时,CDM会将CSV文件的第一行数据作为标题行,不写入目的端的表。 fromJobConfig.fromCompression 否 枚举 压缩格式,表示选择只传输对应压缩格式的源文件。“NONE”表示传输所有格式的文件。 fromJobConfig.compressedFileSuffix 否 String 需要解压缩的文件后缀名。当一批文件中以该值为后缀时,才会执行解压缩操作,否则则保持原样传输。当输入*或为空时,所有文件都会被解压。 fromJobConfig.splitType 否 枚举 指定任务分片方式,选择按文件或文件大小进行分割。HDFS上的文件,如果在HDFS上已经分片,则HDFS每个分片视为一个文件。 FILE:按文件数量进行分片。例如有10个文件,并在任务参数中指定“throttlingConfig.numExtractors”(抽取并发数)为“5”,则每个分片2个文件。 SIZE:按文件大小分割。注意这里不会将文件做切分来实现均衡。例如:有10个文件,9个10M,1个200M,在并发任务数中指定“throttlingConfig.numExtractors”(抽取并发数)为“2”,则会分两个分片,一个处理9个10M的文件,一个处理1个200M的文件。 fromJobConfig.useMarkerFile 否 Boolean 选择是否开启作业标识文件的功能。当源端路径下存在启动作业的标识文件时才启动作业,否则会挂起等待一段时间,等待时长在下方“fromJobConfig.waitTime”(等待时间)参数中配置。 fromJobConfig.markerFile 否 String 启动作业的标识文件名。指定文件后,只有在源端路径下存在该文件的情况下才会运行任务,不指定时默认不启用该功能,例如:“ok.txt”。 fromJobConfig.fileSeparator 否 String “fromJobConfig.inputDirectory”(抽取文件的路径)参数中如果输入的是多个文件路径,CDM使用这里配置的文件分隔符来区分各个文件,默认为“|”。 fromJobConfig.filterType 否 枚举 选择过滤器类型: WILDCARD:输入通配符作为过滤文件,满足过滤条件的路径或文件会被传输。 TIME:时间过滤器,当文件的修改时间晚于输入的时间时,该文件才会被传输。 fromJobConfig.pathFilter 否 String 路径过滤器,过滤类型为通配符时配置,用于过滤文件目录,例如:“*input”。 fromJobConfig.fileFilter 否 String 文件过滤器,过滤类型为通配符时配置,用于过滤目录下的文件,支持配置多个文件,中间使用“,”分隔,例如:“*.csv,*.txt”。 fromJobConfig.startTime 否 String “过滤类型”选择“时间过滤器”时,可以指定一个时间值,当文件的修改时间大于该时间才会被传输,输入的时间格式需为“yyyy-MM-dd HH:mm:ss”。 该参数支持配置为时间宏变量,例如${timestamp(dateformat(yyyy-MM-dd HH:mm:ss,-90,DAY))}表示:只迁移最近90天内的文件。 fromJobConfig.endTime 否 String “过滤类型”选择“时间过滤器”时,可以指定一个时间值,当文件的修改时间小于该时间才会被传输,输入的时间格式需为“yyyy-MM-dd HH:mm:ss”。 该参数支持配置为时间宏变量,例如${timestamp(dateformat(yyyy-MM-dd HH:mm:ss))}表示:只迁移修改时间为当前时间以前的文件。 fromJobConfig.createSnapshot 否 Boolean 如果配置为“true”,CDM读取HDFS系统上的文件时,会先对待迁移的源目录创建快照(不允许对单个文件创建快照),然后CDM迁移快照中的数据。 需要HDFS系统的管理员权限才可以创建快照,CDM作业完成后,快照会被删除。 fromJobConfig.formats 否 数据结构 时间格式,当“fromJobConfig.inputFormat”(文件格式)为“CSV_FILE”(CSV格式),并且文件中有时间类型字段时,才需要输入,具体说明请参见fromJobConfig.formats参数说明。 fromJobConfig.decryption 否 枚举 “fromJobConfig.inputFormat”(文件格式)选择为“BINARY_FILE”(二进制格式)时才有该参数,选择是否对已加密的文件解密后再导出,以及解密方式: NONE:不解密,直接导出文件。 AES-256-GCM:使用AES-256-GCM(NoPadding)算法解密后再导出文件。 fromJobConfig.dek 否 String 数据解密密钥,密钥由长度64的十六进制数组成,且必须与加密时配置的“toJobConfig.dek”(导入时配置的 数据加密 密钥)一致。如果不一致系统不会报异常,只是解密出来的数据会错误。 fromJobConfig.iv 否 String 解密需要的初始化向量,初始化向量由长度32的十六进制数组成,且必须与加密时配置的“toJobConfig.iv”(导入时配置的初始化向量)一致。如果不一致系统不会报异常,只是解密出来的数据会错误。
  • JSON样例 "from-config-values": { "configs": [ { "inputs": [ { "name": "fromJobConfig.inputDirectory", "value": "/hdfsfrom/from_hdfs_est.csv" }, { "name": "fromJobConfig.inputFormat", "value": "CSV_FILE" }, { "name": "fromJobConfig.columnList", "value": "1" }, { "name": "fromJobConfig.fieldSeparator", "value": "," }, { "name": "fromJobConfig.quoteChar", "value": "false" }, { "name": "fromJobConfig.regexSeparator", "value": "false" }, { "name": "fromJobConfig.firstRowAsHeader", "value": "false" }, { "name": "fromJobConfig.encodeType", "value": "UTF-8" }, { "name": "fromJobConfig.fromCompression", "value": "NONE" }, { "name": "fromJobConfig.compressedFileSuffix", "value": "*" }, { "name": "fromJobConfig.splitType", "value": "FILE" }, { "name": "fromJobConfig.useMarkerFile", "value": "false" }, { "name": "fromJobConfig.fileSeparator", "value": "|" }, { "name": "fromJobConfig.filterType", "value": "NONE" } ], "name": "fromJobConfig" } ] }
  • JSON样例 "from-config-values": { "configs": [ { "inputs": [ { "name": "fromJobConfig.inputDirectory", "value": "http://10.114.196.186:8080/httpfrom/symbol.txt" }, { "name": "fromJobConfig.inputFormat", "value": "BINARY_FILE" }, { "name": "fromJobConfig.fromCompression", "value": "TARGZ" }, { "name": "fromJobConfig.compressedFileSuffix", "value": "*" }, { "name": "fromJobConfig.fileSeparator", "value": "|" } ], "name": "fromJobConfig" } ] }
  • 参数说明 参数 是否必选 类型 说明 fromJobConfig.inputDirectory 是 String 待抽取文件的URL。 用于读取一个公网HTTP/HTTPS URL的文件,包括第三方对象存储的公共读取场景和网盘场景。 fromJobConfig.inputFormat 是 枚举 传输数据时所用的文件格式,目前只支持二进制格式。 fromJobConfig.fromCompression 否 枚举 选择对应压缩格式的源文件进行迁移: NONE:表示传输所有格式的文件。 GZIP:表示只传输GZIP格式的文件。 ZIP:表示只传输ZIP格式的文件。 TAR.GZ:表示只传输TAR.GZ格式的文件。 fromJobConfig.compressedFileSuffix 否 String 需要解压缩的文件后缀名。当一批文件中以该值为后缀时,才会执行解压缩操作,否则则保持原样传输。当输入*或为空时,所有文件都会被解压。 fromJobConfig.fileSeparator 否 String 传输多个文件时,CDM使用这里配置的文件分隔符来区分各个文件,默认为|。 fromJobConfig.useQuery 否 Boolean 该参数设置为“true”时,上传到OBS的对象使用的对象名,为去掉query参数后的字符。 该参数设置为“false”时,上传到OBS的对象使用的对象名,包含query参数。 fromJobConfig.decryption 否 枚举 导出文件时,选择是否对已加密的文件解密后再导出,以及解密方式: NONE:不解密,直接导出文件。 AES-256-GCM:使用AES-256-GCM(NoPadding)算法解密后再导出文件。 fromJobConfig.dek 否 String 数据解密密钥,密钥由长度64的十六进制数组成,且必须与加密时配置的“toJobConfig.dek”(导入时配置的数据加密密钥)一致。如果不一致系统不会报异常,只是解密出来的数据会错误。 fromJobConfig.iv 否 String 解密需要的初始化向量,初始化向量由长度32的十六进制数组成,且必须与加密时配置的“toJobConfig.iv”(导入时配置的初始化向量)一致。如果不一致系统不会报异常,只是解密出来的数据会错误。 fromJobConfig.md5FileSuffix 否 String 校验CDM抽取的文件,是否与源文件一致。
  • JSON样例 "from-config-values": { "configs": [ { "inputs": [ { "name": "fromJobConfig.topicsList", "value": "est1,est2" }, { "name": "fromJobConfig.kafkaConsumerStrategy", "value": "EARLIEST" }, { "name": "fromJobConfig.isPermanency", "value": "true" } ], "name": "fromJobConfig" } ] }
  • 参数说明 参数 是否必选 类型 说明 fromJobConfig.topicsList 是 String Kafka topic列表,可以为多个topic,以“,”作为分隔符。 fromJobConfig.kafkaConsumerStrategy 是 枚举 从Kafka拉取数据时的初始偏移量设置: LATEST:最大偏移量,即最新的数据。 EARLIEST:最小偏移量,即最老的数据。 fromJobConfig.isPermanency 是 Boolean 是否永久运行。 fromJobConfig.groupId 否 String 用户指定消费组ID。 如果是从DMS Kafka导出数据,专享版请任意输入,标准版请输入有效的消费组ID。 fromJobConfig.dataFormat 是 枚举 解析数据时使用的格式: BINARY:适用于文件迁移场景,不解析数据内容原样传输。 CSV:以CSV格式解析源数据。 fromJobConfig.maxPollRecords 否 String 每次向Kafka请求数据限制最大请求记录数。 fromJobConfig.maxPollInterval 否 String 每次poll之间的最大时间间隔。 fromJobConfig.separator 否 String 字段分隔符。
  • 参数说明 参数 是否必选 类型 说明 fromJobConfig.database 是 String MongoDB/DDS的数据库名称。 fromJobConfig.collectionName 是 String MongoDB/DDS的集合名称。 fromJobConfig.columnList 否 String 需要抽取的字段列表,字段名之间使用“&”分割,例如:“id&gid&name”。 fromJobConfig.isBatchMigration 否 Boolean 是否为整库迁移。 fromJobConfig.filters 否 String 创建用于匹配文档的筛选条件,CDM只迁移符合条件的数据。例如: 按表达式对象筛选:例如{'last_name': 'Smith'},表示查找所有“last_name”属性值为“Smith”的文档。 按参数选项筛选:例如{ x : "john" }, { z : 1 },表示查找x=john的所有z字段。 按条件筛选:例如{ "field" : { $gt: 5 } },表示查找field字段中大于5的值。
  • JSON样例 "from-config-values": { "configs": [ { "inputs": [ { "name": "fromJobConfig.database", "value": "cdm" }, { "name": "fromJobConfig.collectionName", "value": "rf_from" }, { "name": "fromJobConfig.columnList", "value": "TINYTEST&SMALLTEST&INTTEST&INTEGERTEST&BIGINTTEST&FLOATTEST" }, { "name": "fromJobConfig.isBatchMigration", "value": "false" }, { "name": "fromJobConfig.filters", "value": "{'last_name': 'Smith'}" } ], "name": "fromJobConfig" } ] }
  • 参数说明 参数 是否必选 类型 说明 fromJobConfig.index 是 String 抽取数据的索引,类似关系数据库中的数据库名称。 fromJobConfig.type 是 String 抽取数据的类型,类似关系数据库中的表名。 fromJobConfig.columnList 否 String 需要抽取的字段列表,字段名之间使用“&”分隔,例如:“id&gid&name”。 fromJobConfig.splitNestedField 否 Boolean 选择是否将nested字段的json内容拆分,例如:将“a:{ b:{ c:1, d:{ e:2, f:3 } } }” 拆成三个字段“a.b.c”、“a.b.d.e”、“a.b.d.f”。 fromJobConfig.queryString 否 String 使用Elasticsearch的查询字符串(query string)对源数据进行过滤,CDM只迁移满足过滤条件的数据。
  • JSON样例 "from-config-values": { "configs": [ { "inputs": [ { "name": "fromJobConfig.index", "value": "cdm" }, { "name": "fromJobConfig.type", "value": "es" }, { "name": "fromJobConfig.columnList", "value": "a1:numeric&s1:string" }, { "name": "fromJobConfig.splitNestedField", "value": "true" }, { "name": "fromJobConfig.queryString", "value": "last_name:Smith" } ], "name": "fromJobConfig" } ] }
  • 参数说明 Redis源端作业参数说明 参数 是否必选 类型 说明 fromJobConfig.isBatchMigration 否 Boolean 是否为整库迁移。 fromJobConfig.keyPrefix 是 String key前缀,对应关系表的表名。 Redis和关系表的映射:用关系表的“表名+分隔符”来对应Redis的Key;关系表的一行数据对应Redis的Value。 fromJobConfig.keySeparator 是 String key分隔符,一般用来分割关系表和主键。 fromJobConfig.valueStoreType 是 String 关系表行数据在Redis中的存储方式分为“string”和“hash”两种存储方式。 STRING:表示用字符串通过分隔符来表示一行数据的各列,可以有效节省存储空间。 HASH:表示一行数据通过“列名:列值”的方式存储在hash表中。 fromJobConfig.valueSeparator 否 String 值分隔符号,当“valueStoreType”为“STRING”时此参数有效,默认值为:“\tab”。 fromJobConfig.columnList 否 String 需要抽取的字段列表,字段名之间使用“&”分割,例如:“id&gid&name”。 fromJobConfig.formats 否 数据结构 时间格式,请参见fromJobConfig.formats参数说明。 fromJobConfig.formats参数说明 参数 是否必选 类型 说明 name 是 String 列号,例如:“1”。 value 是 String 时间格式,例如:“yyyy-MM-dd”。
  • JSON样例 "from-config-values": { "configs": [ { "inputs": [ { "name": "fromJobConfig.isBatchMigration", "value": "false" }, { "name": "fromJobConfig.keyPrefix", "value": "rf_string_from" }, { "name": "fromJobConfig.keySeparator", "value": ":" }, { "name": "fromJobConfig.valueStoreType", "value": "STRING" }, { "name": "fromJobConfig.valueSeparator", "value": "," }, { "name": "fromJobConfig.columnList", "value": "1&2&3&4&5&6&7&8&9&10&11&12" } ], "name": "fromJobConfig" } ] }
  • JSON样例 "from-config-values": { "configs": [ { "inputs": [ { "name": "fromJobConfig.streamName", "value": "cdm" }, { "name": "fromJobConfig.disConsumerStrategy", "value": "FROM_LAST_STOP" }, { "name": "fromJobConfig.isPermanency", "value": "true" }, { "name": "fromJobConfig.maxPollRecords", "value": "100" }, { "name": "fromJobConfig.shardId", "value": "0" }, { "name": "fromJobConfig.dataFormat", "value": "BINARY" }, { "name": "fromJobConfig.separator", "value": "," } ], "name": "fromJobConfig" } ] }
  • 参数说明 参数 是否必选 类型 说明 fromJobConfig.streamName 是 String DIS的通道名。 fromJobConfig.disConsumerStrategy 是 枚举 设置从DIS拉取数据时的初始偏移量: LATEST:最大偏移量,即最新的数据。 FROM_LAST_STOP:从上次停止处继续拉取。 EARLIEST:最小偏移量,即最早的数据。 fromJobConfig.isPermanency 是 Boolean 是否永久运行。 fromJobConfig.maxPollRecords 否 String 每次向DIS请求数据限制最大请求记录数。 fromJobConfig.shardId 是 String DIS分区ID,该参数支持输入多个分区ID,使用“,”分隔。 fromJobConfig.dataFormat 是 枚举 解析数据时使用的格式: BINARY:适用于文件迁移场景,不解析数据内容原样传输。 CSV:以CSV格式解析源数据。 fromJobConfig.separator 否 String 字段分隔符。 fromJobConfig.appName 否 String 用户数据消费程序的唯一标识符。
  • JSON样例 "from-config-values": { "configs": [ { "inputs": [ { "name": "fromJobConfig.inputDirectory", "value": "/sftpfrom/from_sftp.csv" }, { "name": "fromJobConfig.inputFormat", "value": "CSV_FILE" }, { "name": "fromJobConfig.columnList", "value": "1&2&3&4&5&6&7&8&9&10&11&12" }, { "name": "fromJobConfig.fieldSeparator", "value": "," }, { "name": "fromJobConfig.regexSeparator", "value": "false" }, { "name": "fromJobConfig.firstRowAsHeader", "value": "false" }, { "name": "fromJobConfig.encodeType", "value": "UTF-8" }, { "name": "fromJobConfig.fromCompression", "value": "NONE" }, { "name": "fromJobConfig.splitType", "value": "FILE" } ], "name": "fromJobConfig" } ] }
  • 参数说明 FTP、SFTP的源端作业参数相同,如表1所示。 表1 文件类源端作业参数 参数 是否必选 类型 说明 fromJobConfig.inputDirectory 是 String 抽取文件的路径。支持输入多个文件路径(最多50个),默认以“|”分隔,也可以自定义文件分隔符,例如:“FROM/example.csv|FROM/b.txt”。 fromJobConfig.inputFormat 是 枚举 传输数据时所用的文件格式,目前支持以下文件格式: CSV_FILE:CSV格式,用于迁移文件到数据表的场景。 JSON_FILE:JSON格式,一般都是用于迁移文件到数据表的场景。 BINARY_FILE:二进制格式,不解析文件内容直接传输,不要求文件格式必须为二进制。适用于文件到文件的原样复制。 当选择“BINARY_FILE”时,目的端也必须为文件系统。 fromJobConfig.lineSeparator 否 String 文件中的换行符,默认自动识别"\\n"、"\\r"或"\\r\\n"。手动配置特殊字符,如空格回车需使用URL编码后的值。或通过编辑作业json方式配置,无需URL编码。 fromJobConfig.columnList 否 String 需要抽取的列号,列号之间使用“&”分割,并由小到大排序,例如:“1&3&5”。 fromJobConfig.fieldSeparator 否 String 字段分隔符,当文件格式为“CSV_FILE”时此参数有效,默认值为:“,”。 fromJobConfig.quoteChar 否 Boolean 是否使用包围符,选择“true”时,包围符内的字段分隔符会被视为字符串值的一部分,目前CDM默认的包围符为:"。 fromJobConfig.regexSeparator 否 Boolean 是否使用正则表达式分割字段,当文件格式为“CSV_FILE”时此参数有效。 fromJobConfig.regex 否 String 正则表达式,当选择使用正则表达式分割字段时,此参数有效。 fromJobConfig.firstRowAsHeader 否 Boolean 是否默认首行为标题行,当文件格式为“CSV_FILE”时此参数有效。在迁移CSV文件到表时,CDM默认是全部写入,当该参数选择“true”时,CDM会将CSV文件的第一行数据作为标题行,不写入目的端的表。 fromJobConfig.fromCompression 否 枚举 压缩格式,当文件格式为“CSV_FILE”或“JSON”时此参数有效。选择对应压缩格式的源文件: NONE:表示传输所有格式的文件。 GZIP:表示只传输GZIP格式的文件。 ZIP:表示只传输ZIP格式的文件。 fromJobConfig.splitType 否 枚举 指定任务分片方式,选择按文件或文件大小进行分割。 FILE:按文件数量进行分片。例如有10个文件,并在任务参数中指定“throttlingConfig.numExtractors”(抽取并发数)为“5”,则每个分片2个文件。 SIZE:按文件大小分割。注意这里不会将文件做切分来实现均衡。例如:有10个文件,9个10M,1个200M,在并发任务数中指定“throttlingConfig.numExtractors”(抽取并发数)为“2”,则会分两个分片,一个处理9个10M的文件,一个处理1个200M的文件。 fromJobConfig.jsonReferenceNode 否 String 记录节点,当文件格式为“JSON_FILE”时此参数有效。对该JSON节点下的数据进行解析,如果该节点对应的数据为JSON数组,那么系统会以同一模式从该数组中提取数据。多层嵌套的JSON节点以字符“.”分割,例如:“data.list”。 fromJobConfig.encodeType 否 String 编码类型,例如:“UTF_8”或“GBK”。 fromJobConfig.useMarkerFile 否 Boolean 选择是否开启作业标识文件的功能。当源端路径下存在启动作业的标识文件时才启动作业,否则会挂起等待一段时间,等待时长在下方“fromJobConfig.waitTime”(等待时间)参数中配置。 fromJobConfig.markerFile 否 String 启动作业的标识文件名。指定文件后,只有在源端路径下存在该文件的情况下才会运行任务,不指定时默认不启用该功能,例如:“ok.txt”。 fromJobConfig.waitTime 否 String 选择开启作业标识文件的功能时,如果源路径下不存在启动作业的标识文件,作业挂机等待的时长,当超时后任务会失败。 等待时间设置为0时,当源端路径下不存在标识文件,任务会立即失败。 单位:秒。 fromJobConfig.filterType 否 枚举 选择过滤器类型: WILDCARD:输入通配符作为过滤文件,满足过滤条件的路径或文件会被传输。 TIME:时间过滤器,当文件的修改时间晚于输入的时间时,该文件才会被传输。 fromJobConfig.pathFilter 否 String 路径过滤器,过滤类型为通配符时配置,用于过滤文件目录,例如:“*input”。 fromJobConfig.fileFilter 否 String 文件过滤器,过滤类型为通配符时配置,用于过滤目录下的文件,支持配置多个文件,中间使用“,”分隔,例如:“*.csv,*.txt”。 fromJobConfig.startTime 否 String “过滤类型”选择“时间过滤器”时,可以指定一个时间值,当文件的修改时间大于该时间才会被传输,输入的时间格式需为“yyyy-MM-dd HH:mm:ss”。 该参数支持配置为时间宏变量,例如${timestamp(dateformat(yyyy-MM-dd HH:mm:ss,-90,DAY))}表示:只迁移最近90天内的文件。 fromJobConfig.endTime 否 String “过滤类型”选择“时间过滤器”时,可以指定一个时间值,当文件的修改时间小于该时间才会被传输,输入的时间格式需为“yyyy-MM-dd HH:mm:ss”。 该参数支持配置为时间宏变量,例如${timestamp(dateformat(yyyy-MM-dd HH:mm:ss))}表示:只迁移修改时间为当前时间以前的文件。 fromJobConfig.fileSeparator 否 String “fromJobConfig.inputDirectory”(抽取文件的路径)参数中如果输入的是多个文件路径,CDM使用这里配置的文件分隔符来区分各个文件,默认为“|”。 fromJobConfig.decryption 否 枚举 导出文件时,选择是否对已加密的文件解密后再导出,以及解密方式: NONE:不解密,直接导出文件。 AES-256-GCM:使用AES-256-GCM(NoPadding)算法解密后再导出文件。 fromJobConfig.dek 否 String 数据解密密钥,密钥由长度64的十六进制数组成,且必须与加密时配置的“toJobConfig.dek”(导入时配置的数据加密密钥)一致。如果不一致系统不会报异常,只是解密出来的数据会错误。 fromJobConfig.iv 否 String 解密需要的初始化向量,初始化向量由长度32的十六进制数组成,且必须与加密时配置的“toJobConfig.iv”(导入时配置的初始化向量)一致。如果不一致系统不会报异常,只是解密出来的数据会错误。 fromJobConfig.md5FileSuffix 否 String 校验CDM抽取的文件,是否与源文件一致。
  • JSON样例 "to-config-values": { "configs": [ { "inputs": [ { "name": "toJobConfig.schemaName", "value": "cdm" }, { "name": "toJobConfig.tablePreparation", "value": "DROP_AND_CREATE" }, { "name": "toJobConfig.tableName", "value": "rf_to" }, { "name": "toJobConfig.columnList", "value": "id&gid&name" }, { "name": "toJobConfig.isCompress", "value": "false" }, { "name": "toJobConfig.orientation", "value": "ROW" }, { "name": "toJobConfig.useStageTable", "value": "false" }, { "name": "toJobConfig.shouldClearTable", "value": "false" }, { "name": "toJobConfig.extendCharLength", "value": "false" } ], "name": "toJobConfig" } ] }
  • 参数说明 参数 是否必选 类型 说明 toJobConfig.schemaName 是 String 数据库模式或表空间。 toJobConfig.tablePreparation 是 枚举 只有当源端和目的端都为关系数据库时,才有该参数。表示写入表数据时,用户选择的操作: DO_NOTHING:不自动建表。 CREATE_WHEN_NOT_EXIST:当目的端的数据库没有“tableName”参数中指定的表时,CDM会自动创建该表。 DROP_AND_CREATE:先删除“tableName”参数中指定的表,然后再重新创建该表。 toJobConfig.tableName 是 String 写入数据的表名。 toJobConfig.columnList 否 String 需要加载的字段列表,字段名之间使用“&”分割,例如:“id&gid&name”。 toJobConfig.beforeImportType 否 枚举 导入数据前,选择是否清除目的表的数据: none:写入数据前不清除目标表中数据,数据追加写入。 shouldClearTable:写入数据前会清除目标表中数据。 whereClause:选择根据where条件删除时,需要配置“toJobConfig.whereClause”参数,CDM根据条件选择性删除目标表的数据。 toJobConfig.whereClause 否 String where条件,导入前根据where条件删除目的表的数据。 toJobConfig.orientation 否 枚举 存储方式,此参数只有当数据库类型为DWS时启用,当需要自动创建DWS数据库表,指定表的数据存储方式: ROW:表的数据以行式存储。 COLUMN:表的数据以列式存储。 toJobConfig.isCompress 否 Boolean 是否压缩,此参数只有当数据库类型为DWS时启用,当需要自动创建DWS数据库表,指定是否对表的数据进行压缩存储。 toJobConfig.useStageTable 否 Boolean 先导入阶段表,如果设置为“true”,数据导入目的表之前会把数据先导入阶段表,如果成功导入阶段表,则再从阶段表导入到目的表,这样避免导入过程失败,在目的表遗留部分成功数据。 toJobConfig.extendCharLength 否 Boolean 扩大字符字段长度,如果设置为“true”,当需要自动创建目的表时,目标表的字符类型字段长度设置为源表相应字段长度的3倍。 toJobConfig.useNullable 否 Boolean 当选择自动创建目的表时,如果选择使用非空约束,则目的表字段的是否非空约束,与原表具有相应非空约束的字段保持一致。
  • 参数说明 参数 是否必选 类型 说明 toJobConfig.database 是 String MongoDB/DDS的数据库名称 toJobConfig.collectionName 是 String MongoDB/DDS的集合名称。 toJobConfig.columnList 否 String 需要抽取的字段列表,字段名之间使用“&”分割,例如:“id&gid&name”。 toJobConfig.isBatchMigration 否 Boolean 是否为整库迁移。
  • JSON样例 "to-config-values": { "configs": [ { "inputs": [ { "name": "toJobConfig.database", "value": "demo" }, { "name": "toJobConfig.collectionName", "value": "cdmbase" }, { "name": "toJobConfig.columnList", "value": "_char&_varchar" }, { "name": "toJobConfig.isBatchMigration", "value": "false" } ], "name": "toJobConfig" } ] }
  • JSON样例 "to-config-values": { "configs": [ { "inputs": [ { "name": "toJobConfig.hive", "value": "hive" }, { "name": "toJobConfig.database", "value": "rf_database" }, { "name": "toJobConfig.table", "value": "rf_to" }, { "name": "toJobConfig.tablePreparation", "value": "DO_NOTHING" }, { "name": "toJobConfig.columnList", "value": "aa&bb&cc&dd" }, { "name": "toJobConfig.shouldClearTable", "value": "true" } ], "name": "toJobConfig" } ] }
  • 参数说明 参数 是否必选 类型 说明 toJobConfig.hive 否 String 写入数据的数据源。 toJobConfig.database 否 String 写入数据的数据库名称,例如:“default”。 toJobConfig.table 是 String 写入数据的表名。 toJobConfig.tablePreparation 是 枚举 写入表数据时,用户选择的操作: DO_NOTHING:不自动建表。 CREATE_WHEN_NOT_EXIST:当目的端的数据库没有“tableName”参数中指定的表时,CDM会自动创建该表。 DROP_AND_CREATE:先删除“tableName”参数中指定的表,然后再重新创建该表。 toJobConfig.columnList 否 String 需要加载的字段列表,字段名之间使用“&”分割,例如:“id&gid&name”。 toJobConfig.shouldClearTable 否 Boolean 导入前是否清空目标表的数据,如果设置为true,任务启动前会清除目标表中数据。
  • JSON样例 "to-config-values": { "configs": [ { "inputs": [ { "name": "toJobConfig.table", "value": "rf_to" }, { "name": "toJobConfig.storageType", "value": "PUTLIST" }, { "name": "toJobConfig.columns", "value": "AA:AA&BB:BB&CC:CC&DD:DD" }, { "name": "toJobConfig.rowKeyColumn", "value": "AA:AA" }, { "name": "toJobConfig.isOverride", "value": "false" }, { "name": "toJobConfig.isRowkeyRedundancy", "value": "false" }, { "name": "toJobConfig.algorithm", "value": "NONE" }, { "name": "toJobConfig.writeToWAL", "value": "true" }, { "name": "toJobConfig.transType", "value": "false" } ], "name": "toJobConfig" } ] }
  • 参数说明 参数 是否必选 类型 说明 toJobConfig.table 是 String 写入数据的表名,例如:“TBL_EXAMPLE”。 toJobConfig.storageType 是 枚举 将数据写入到HBase表中的方法: PUTLIST:put list方式写入。 toJobConfig.columns 否 String 需要抽取数据的列,列号之间使用“&”分割,列族与列之间用“:”分隔,例如:“cf1:c1&cf2:c2”。 toJobConfig.rowKeyColumn 是 String 作为rowkey的列,列号之间使用“&”分割,列族与列之间用“:”分隔,例如:“cf1:c1&cf2:c2”。 toJobConfig.isOverride 否 Boolean 使用BULKLOAD方式导入数据时,是否清空数据,例如:“true”。 toJobConfig.delimiter 否 String 当选取多个列做rowkey时,连接多列的分隔符,例如:“|”。 toJobConfig.isRowkeyRedundancy 否 Boolean 是否将选做Rowkey的数据同时写入HBase的列。 toJobConfig.algorithm 否 枚举 创建新HBase表时采用的压缩算法,支持SNAPPY和GZ算法,默认为“NONE”。 toJobConfig.writeToWAL 否 Boolean 选择是否开启HBase的预写日志机制(WAL,Write Ahead Log)。 是:开启后如果出现HBase服务器宕机,则可以从WAL中回放执行之前没有完成的操作。 否:关闭时能提升写入性能,但如果HBase服务器宕机可能会造成数据丢失。 toJobConfig.transType 否 Boolean true:源端数据库中的Short、Int、Long、Float、Double、Decimal类型列的数据,会转换为Byte[]数组(二进制)写入HBase,其他类型的按字符串写入。如果这几种类型中,有合并做rowkey的,就依然当字符串写入。 该功能作用是:降低存储占用空间,存储更高效;特定场景下rowkey分布更均匀。 false:源端数据库中所有类型的数据,都会按照字符串写入HBase。
  • JSON样例 "to-config-values": { "configs": [ { "inputs": [ { "name": "toJobConfig.outputDirectory", "value": "/hdfsto" }, { "name": "toJobConfig.outputFormat", "value": "BINARY_FILE" }, { "name": "toJobConfig.writeToTempFile", "value": "false" }, { "name": "toJobConfig.duplicateFileOpType", "value": "REPLACE" }, { "name": "toJobConfig.compression", "value": "NONE" }, { "name": "toJobConfig.appendMode", "value": "true" } ], "name": "toJobConfig" } ] }
  • 参数说明 参数 是否必选 类型 说明 toJobConfig.outputDirectory 是 String 数据写入的路径,例如“/data_dir”。 toJobConfig.outputFormat 是 枚举 写入数据时所用的文件格式(二进制除外),支持以下文件格式: CSV_FILE:按照CSV格式写入数据。 BINARY_FILE:二进制格式,不解析文件内容直接传输,CDM会原样写入文件,不改变原始文件格式。 当选择“BINARY_FILE”时,源端也必须为文件系统。 toJobConfig.lineSeparator 否 String 行分割符号,当“toJobConfig.outputFormat”(文件格式)为“CSV_FILE”时此参数有效,默认值为:“\r\n”。 toJobConfig.fieldSeparator 否 String 列分割符号,当“toJobConfig.outputFormat”(文件格式)为“CSV_FILE”时此参数有效,默认值为:“,”。 toJobConfig.writeToTempFile 否 Boolean 将二进制文件先写入到临时文件(临时文件以“.tmp”作为后缀),迁移成功后,再进行rename或move操作,在目的端恢复文件。 toJobConfig.duplicateFileOpType 否 枚举 重复文件处理方式,只有文件名和文件大小都相同才会判定为重复文件。重复文件支持以下处理方式: REPLACE:替换重复文件。 SKIP:跳过重复文件。 ABANDON:发现重复文件停止任务。 toJobConfig.compression 否 枚举 写入文件后,选择对文件的压缩格式。支持以下压缩格式: NONE:不压缩。 DEFLATE:压缩为DEFLATE格式。 GZIP:压缩为GZIP格式。 BZIP2:压缩为BZIP2格式。 LZ4:压缩为LZ4格式。 SNAPPY:压缩为SNAPPY格式。 toJobConfig.appendMode 是 Boolean 当加载路径已经存在文件,是否需要写入,默认值为“false”。 toJobConfig.encryption 否 枚举 当“toJobConfig.outputFormat”(文件格式)为“BINARY_FILE”(二进制)时才有该参数,选择是否对导入的数据进行加密,以及加密方式: NONE:不加密,直接写入数据。 AES-256-GCM:使用长度为256byte的AES对称加密算法,目前加密算法只支持AES-256-GCM(NoPadding)。 toJobConfig.dek 否 String 数据加密密钥,“toJobConfig.encryption”(加密方式)选择“AES-256-GCM”时有该参数,密钥由长度64的十六进制数组成。 请您牢记这里配置的密钥,解密时的密钥与这里配置的必须一致。如果不一致系统不会报异常,只是解密出来的数据会错误。 toJobConfig.iv 否 String 初始化向量,“toJobConfig.encryption”(加密方式)选择“AES-256-GCM”时有该参数,初始化向量由长度32的十六进制数组成。 请您牢记这里配置的初始化向量,解密时的初始化向量与这里配置的必须一致。如果不一致系统不会报异常,只是解密出来的数据会错误。
  • JSON样例 "to-config-values": { "configs": [ { "inputs": [ { "name": "toJobConfig.bucketName", "value": "cdm" }, { "name": "toJobConfig.outputDirectory", "value": "/obsfrom/advance/" }, { "name": "toJobConfig.outputFormat", "value": "CSV_FILE" }, { "name": "toJobConfig.fieldSeparator", "value": "," }, { "name": "toJobConfig.writeToTempFile", "value": "false" }, { "name": "toJobConfig.validateMD5", "value": "false" }, { "name": "toJobConfig.recordMD5Result", "value": "false" }, { "name": "toJobConfig.encodeType", "value": "UTF-8" }, { "name": "toJobConfig.markerFile", "value": "finish.txt" }, { "name": "toJobConfig.duplicateFileOpType", "value": "REPLACE" }, { "name": "toJobConfig.columnList", "value": "1&2" }, { "name": "toJobConfig.quoteChar", "value": "false" }, { "name": "toJobConfig.encryption", "value": "NONE" }, { "name": "toJobConfig.copyContentType", "value": "false" } ], "name": "toJobConfig" } ] }
  • 参数说明 参数 是否必选 类型 说明 toJobConfig.bucketName 是 String OBS的桶名,例如“cdm”。 toJobConfig.outputDirectory 是 String 数据写入路径,例如“data_dir”。 toJobConfig.outputFormat 是 枚举 写入数据时所用的文件格式(二进制除外),支持以下文件格式: CSV_FILE:按照CSV格式写入数据。 BINARY_FILE:二进制格式,不解析文件内容直接传输,CDM会原样写入文件,不改变原始文件格式。 当选择“BINARY_FILE”时,源端也必须为文件系统。 toJobConfig.fieldSeparator 否 String 列分割符号,当“toJobConfig.outputFormat”(文件格式)为“CSV_FILE”时此参数有效,默认值为:“,”。 toJobConfig.lineSeparator 否 String 行分割符号,当“toJobConfig.outputFormat”(文件格式)为“CSV_FILE”时此参数有效,默认值为:“\r\n”。 toJobConfig.writeFileSize 否 String 源端为数据库时该参数有效,支持按大小分成多个文件存储,避免导出的文件过大,单位为MB。 toJobConfig.duplicateFileOpType 否 枚举 重复文件处理方式,只有文件名和文件大小都相同才会判定为重复文件。重复文件支持以下处理方式: REPLACE:替换重复文件。 SKIP:跳过重复文件。 ABANDON:发现重复文件停止任务。 toJobConfig.columnList 否 String 需要抽取的字段列表,字段名之间使用“&”分割,例如:“id&gid&name”。 toJobConfig.encryption 否 枚举 选择是否对上传的数据进行加密,以及加密方式: NONE:不加密,直接写入数据。 KMS:使用数据加密服务中的KMS进行加密。如果启用KMS加密则无法进行数据的MD5校验。 AES-256-GCM:使用长度为256bit的AES对称加密算法,目前加密算法只支持AES-256-GCM(NoPadding)。 toJobConfig.dek 否 String 数据加密密钥,“toJobConfig.encryption”(加密方式)选择“AES-256-GCM”时有该参数,密钥由长度64的十六进制数组成。 请您牢记这里配置的密钥,解密时的密钥与这里配置的必须一致。如果不一致系统不会报异常,只是解密出来的数据会错误。 toJobConfig.iv 否 String 初始化向量,“toJobConfig.encryption”(加密方式)选择“AES-256-GCM”时有该参数,初始化向量由长度32的十六进制数组成。 请您牢记这里配置的初始化向量,解密时的初始化向量与这里配置的必须一致。如果不一致系统不会报异常,只是解密出来的数据会错误。 toJobConfig.kmsID 否 String 上传时加密使用的密钥。需先在密钥管理服务中创建密钥。 toJobConfig.projectID 否 String KMS密钥所属的项目ID。 toJobConfig.writeToTempFile 否 Boolean 将二进制文件先写入到临时文件(临时文件以“.tmp”作为后缀),迁移成功后,再进行rename或move操作,在目的端恢复文件。 toJobConfig.validateMD5 否 Boolean 选择是否校验MD5值,不能与KMS加密同时使用。使用二进制格式传输文件时,才能校验MD5值。 计算源文件的MD5值,并与OBS返回的MD5值进行校验。如果源端已经存在MD5文件,则直接读取源端的MD5文件与OBS返回的MD5值进行校验。 toJobConfig.recordMD5Result 否 Boolean 当选择校验MD5值时,这里配置是否记录校验结果。 toJobConfig.recordMD5Link 否 String 可以指定任意一个OBS连接,将MD5校验结果写入该连接的桶。 toJobConfig.recordMD5Bucket 否 String 写入MD5校验结果的OBS桶。 toJobConfig.recordMD5Directory 否 String 写入MD5校验结果的目录。 toJobConfig.encodeType 否 String 编码类型,例如:“UTF_8”或“GBK”。 toJobConfig.markerFile 否 String 当作业执行成功时,会在写入目录下生成一个标识文件,文件名由用户指定,不指定时默认关闭该功能。 toJobConfig.copyContentType 否 Boolean “toJobConfig.outputFormat”(文件格式)为“BINARY_FILE”,且源端、目的端都为对象存储时,才有该参数。 选择“是”后,迁移对象文件时会复制源文件的Content-Type属性,主要用于静态网站的迁移场景。 归档存储的桶不支持设置Content-Type属性,所以如果开启了该参数,目的端选择写入的桶时,必须选择非归档存储的桶。 toJobConfig.quoteChar 否 Boolean “toJobConfig.outputFormat”(文件格式)为“CSV_FILE”,才有该参数,用于将数据库的表迁移到文件系统的场景。 选择“是”时,如果源端数据表中的某一个字段内容包含字段分隔符或换行符,写入目的端时CDM会使用双引号(")作为包围符将该字段内容括起来,作为一个整体存储,避免其中的字段分隔符误将一个字段分隔成两个,或者换行符误将字段换行。例如:数据库中某字段为hello,world,使用包围符后,导出到CSV文件的时候数据为"hello,world"。 toJobConfig.firstRowAsHeader 否 Boolean “toJobConfig.outputFormat”(文件格式)为“CSV_FILE”时才有该参数。在迁移表到CSV文件时,CDM默认是不迁移表的标题行,如果该参数选择“是”,CDM在才会将表的标题行数据写入文件。
  • 参数说明 参数 是否必选 类型 说明 toJobConfig.outputDirectory 是 String 数据写入的路径,例如:“/data_dir”。 toJobConfig.outputFormat 是 枚举 写入数据时所用的文件格式(二进制除外),支持以下文件格式: CSV_FILE:按照CSV格式写入数据。 BINARY_FILE:二进制格式,不解析文件内容直接传输,CDM会原样写入文件,不改变原始文件格式。 当选择“BINARY_FILE”时,源端也必须为文件系统。 toJobConfig.duplicateFileOpType 否 枚举 重复文件处理方式,只有文件名和文件大小都相同才会判定为重复文件。重复文件支持以下处理方式: REPLACE:替换重复文件。 SKIP:跳过重复文件。 ABANDON:发现重复文件停止任务。 toJobConfig.lineSeparator 否 String 行分割符号,当“toJobConfig.outputFormat”(文件格式)为“CSV_FILE”时此参数有效,默认值为:“\r\n”。 toJobConfig.fieldSeparator 否 String 列分割符号,当“toJobConfig.outputFormat”(文件格式)为“CSV_FILE”时此参数有效,默认值为:“,”。 toJobConfig.encodeType 否 String 编码类型,例如:“UTF_8”或“GBK”。 toJobConfig.writeToTempFile 否 Boolean 将二进制文件先写入到临时文件(临时文件以“.tmp”作为后缀),迁移成功后,再进行rename或move操作,在目的端恢复文件。 toJobConfig.recordMD5Result 否 Boolean 文件格式为“二进制”时,该参数有效。对每个传输的文件都生成一个MD5值,并将该值记录在一个新文件中(新文件以“.md5”作为后缀),且可以指定MD5值生成的目录。 toJobConfig.recordMD5Directory 否 String 自定义MD5值写入的目录。 toJobConfig.markerFile 否 String 当作业执行成功时,会在写入目录下生成一个标识文件,文件名由用户指定,不指定时默认关闭该功能。 toJobConfig.firstRowAsHeader 否 Boolean “toJobConfig.outputFormat”(文件格式)为“CSV_FILE”时才有该参数。在迁移表到CSV文件时,CDM默认是不迁移表的标题行,如果该参数选择“是”,CDM在才会将表的标题行数据写入文件。 toJobConfig.encryption 否 枚举 选择是否对上传的数据进行加密,以及加密方式: NONE:不加密,直接写入数据。 AES-256-GCM:使用长度为256byte的AES对称加密算法,目前加密算法只支持AES-256-GCM(NoPadding)。 toJobConfig.dek 否 String 数据加密密钥,“toJobConfig.encryption”(加密方式)选择“AES-256-GCM”时有该参数,密钥由长度64的十六进制数组成。 请您牢记这里配置的密钥,解密时的密钥与这里配置的必须一致。如果不一致系统不会报异常,只是解密出来的数据会错误。 toJobConfig.iv 否 String 初始化向量,“toJobConfig.encryption”(加密方式)选择“AES-256-GCM”时有该参数,初始化向量由长度32的十六进制数组成。 请您牢记这里配置的初始化向量,解密时的初始化向量与这里配置的必须一致。如果不一致系统不会报异常,只是解密出来的数据会错误。
  • JSON样例 "to-config-values": { "configs": [ { "inputs": [ { "name": "toJobConfig.outputDirectory", "value": "/opt/data" }, { "name": "toJobConfig.outputFormat", "value": "CSV_FILE" }, { "name": "toJobConfig.fieldSeparator", "value": "," }, { "name": "toJobConfig.duplicateFileOpType", "value": "REPLACE" } ], "name": "toJobConfig" } ] }
共100000条