文档首页 > > API参考> 公共数据结构> 源端作业参数说明> 源端为HDFS

源端为HDFS

分享
更新时间:2020/05/27 GMT+08:00

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.jsonType",
                "value": "JSON_OBJECT"
              },
              {
                "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.fromFileOpType",
                "value": "DO_NOTHING"
              },
              {
                "name": "fromJobConfig.useMarkerFile",
                "value": "false"
              },
              {
                "name": "fromJobConfig.fileSeparator",
                "value": "|"
              },
              {
                "name": "fromJobConfig.filterType",
                "value": "NONE"
              }
            ],
            "name": "fromJobConfig"
          }
        ]
      }

参数说明

  • HDFS作业参数说明

    参数

    是否必选

    类型

    说明

    fromJobConfig.inputDirectory

    String

    待抽取数据的路径,例如:“/data_dir”

    fromJobConfig.inputFormat

    枚举

    传输数据时所用的文件格式,目前支持以下文件格式:
    • CSV_FILE:CSV格式。
    • PARQUET_FILE:PARQUET格式。
    • BINARY_FILE:二进制格式。

    当选择“BINARY_FILE”时,目的端也必须为文件系统。

    fromJobConfig.columnList

    String

    需要抽取的列号,列号之间使用“&”分割,并由小到大排序,例如:“1&3&5”

    fromJobConfig.lineSeparator

    String

    换行符,当文件格式为“CSV_FILE”时此参数有效,默认值为:“\r\n”

    fromJobConfig.fieldSeparator

    String

    字段分隔符,当文件格式为“CSV_FILE”时此参数有效,默认值为:“,”

    fromJobConfig.encodeType

    String

    编码类型,例如:“UTF_8”“GBK”

    fromJobConfig.firstRowAsHeader

    Boolean

    是否默认首行为标题行,当文件格式为“CSV_FILE”时此参数有效。在迁移CSV文件到表时,CDM默认是全部写入,当该参数选择“true”时,CDM会将CSV文件的第一行数据作为标题行,不写入目的端的表。

    fromJobConfig.fromCompression

    枚举

    压缩格式,表示选择只传输对应压缩格式的源文件。“NONE”表示传输所有格式的文件。

    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.fromFileOpType

    枚举

    源文件处理方式,作业完成后对源端文件的操作,支持重命名或删除源端文件。

    fromJobConfig.markerFile

    String

    启动作业的标识文件名。指定文件后,只有在源端路径下存在该文件的情况下才会运行任务,不指定时默认不启用该功能,例如:“ok.txt”

    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(导入时配置的初始化向量)一致。如果不一致系统不会报异常,只是解密出来的数据会错误。

  • fromJobConfig.formats参数说明

    参数

    是否必选

    类型

    说明

    name

    String

    列号,例如:“1”

    value

    String

    时间格式,例如:“yyyy-MM-dd”

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问