
# 源端为HDFS
#### 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"
          }
        ]
      }
```
#### 参数说明
- 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  | 文件中的换行符，默认自动识别"\\\\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"（导入时配置的初始化向量）一致。如果不一致系统不会报异常，只是解密出来的数据会错误。                                                                                                                                                                                                                                                                                                                                                                                  |
     
  
 
- fromJobConfig.formats参数说明
  
  | 参数    | 是否必选 | 类型     | 说明                    |
  |:---|:---|:---|:---|
  | name  | 是    | String | 列号，例如："1"。            |
  | value | 是    | String | 时间格式，例如："yyyy-MM-dd"。 |
     
  
 
