华为云用户手册

  • 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" } ] }
  • 参数说明 参数 是否必选 类型 说明 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" } ] }
  • JSON样例 "driver-config-values": { "configs": [ { "inputs": [ { "name": "throttlingConfig.numExtractors", "value": "1" }, { "name": "throttlingConfig.numLoaders", "value": "1" }, { "name": "throttlingConfig.recordDirtyData", "value": "false" } ], "name": "throttlingConfig" }, { "inputs": [], "name": "jarConfig" }, { "inputs": [ { "name": "schedulerConfig.isSchedulerJob", "value": "false" }, { "name": "schedulerConfig.disposableType", "value": "NONE" } ], "name": "schedulerConfig" }, { "inputs": [], "name": "transformConfig" }, { "inputs": [ { "name": "retryJobConfig.retryJobType", "value": "NONE" } ], "name": "retryJobConfig" } ] }
  • 参数说明 参数 是否必选 类型 说明 throttlingConfig.numExtractors 否 Integer 最大抽取任务并发数,例如:“20”。 groupJobConfig.groupName 否 枚举 选择作业所属的分组,默认分组为“DEFAULT”。 throttlingConfig.numLoaders 否 Integer 仅当HBase或Hive作为目的数据源时该参数才有效。 最大加载任务数,例如:“5”。 throttlingConfig.recordDirtyData 否 Boolean 是否写入脏数据,例如:“true”。 throttlingConfig.writeToLink 否 String 脏数据要写入的连接,目前只支持写入到OBS连接或HDFS连接。例如:“obslink”。 throttlingConfig.obsBucket 否 String 写入脏数据的OBS桶的名称,只有当脏数据要写入OBS连接的时候,此参数才生效。例如:“dirtyData”。 throttlingConfig.dirtyDataDirectory 否 String 写入脏数据的目录: 如果选择写入到HDFS,此参数即为HDFS目录。 如果选择写入到OBS,此参数表示相应的OBS桶下的目录,例如:“/data/dirtydata/”。 throttlingConfig.maxErrorRecords 否 String 单个分片的最大错误记录数。单个map的错误记录超过设置的最大错误记录数时,任务自动结束,已经导入的数据不回退。 schedulerConfig.isSchedulerJob 否 Boolean 是否开启定时任务,例如:“true”。 schedulerConfig.cycleType 否 String 定时任务的周期类型,目前支持五种周期类型: minute:分钟 hour:小时 day:天 week:周 month:月 schedulerConfig.cycle 否 Integer 定时任务的周期,如果周期类型选择了“minute”,“cycle”输入“10”,就表示该定时任务每10分钟执行一次。 schedulerConfig.runAt 否 String 定时任务在周期内的触发时间,当周期为“hour”、“week”或“month”时,该参数有效。 如果周期类型为“month”,设定周期为“1”,“runAt”输入“15”,就表示每个月的15号执行该定时任务。并且该参数支持输入多个,以英文的逗号“,”分隔开。 例如上述场景中“runAt”输入“1,2,3,4,5”,就表示每个月的1日、2日、3日、4日和5日执行该定时任务。 周期类型为“week”时,“runAt”输入“mon,tue,wed,thu,fri”,就表示周一到周五执行该定时任务。 周期类型为“hour”时,“runAt”输入“27,57”,表示周期内的的27分和57分执行该定时任务。 schedulerConfig.startDate 否 String 定时任务的开始时间,例如:“2018-01-24 19:56:19”。 schedulerConfig.stopDate 否 String 定时任务的结束日期,例如:“2018-01-27 23:59:00”。 如果不输入结束时间,则表示定时任务将一直执行,永远不会结束。 schedulerConfig.disposableType 否 枚举 作业运行完是否删除: NONE:作业执行完不删除。 DELETE_AFTER_SUCCEED:仅作业执行成功时删除该作业,适合海量一次性作业。 DELETE:作业执行完删除该作业,执行成功或失败都会删除。 retryJobConfig.retryJobType 否 枚举 如果作业执行失败,选择是否自动重试: NONE:不重试。 RETRY_TRIPLE:重试三次。
  • 创建CDM集群 调用创建集群API创建集群,假设集群详情如下: 集群名称为“cdm-ab82”。 集群规格为“cdm.medium”。 VPC、子网、安全组与DWS一致,且自动绑定弹性IP。 如果返回状态码为200,则说明创建命令执行成功。 curl -X POST -H 'Content-Type:application/json;charset=utf-8' -H "X-Auth-Token:$Token" -d ' { "cluster": { "name": "cdm-ab82", "vpcId": "6b47302a-bf79-4b20-bf7a-80987408e196", "instances": [{ "flavorRef": "fb8fe666-6734-4b11-bc6c-43d11db3c745", "nics": [{ "net-id": "63bdc3cb-a4e7-486f-82ee-d9bf208c8f8c", "securityGroupId": "005af77a-cce5-45ac-99c7-2ea50ea8addf" }], "availability_zone": "Project Name", "type": "cdm" }], "datastore": { "version": "1.8.5", "type": "cdm" }, "isScheduleBootOff": false, "scheduleBootTime": "null", "scheduleOffTime": "null", "isAutoOff": false, "sys_tags": [{ "key": "_sys_enterprise_project_id", "value": "1ce45885-4033-40d2-bdde-d4dbaceb387d" }] }, "autoRemind": false, "phoneNum": "null", "email": "null" }' https://{cdm_endpoint}/v1.1/1551c7f6c808414d8e9f3c514a170f2e/clusters -v -k 调用查询集群列表查询集群信息,获取集群的ID,并设置为全局变量。 curl -X GET -H 'Content-Type:application/json;charset=utf-8' -H "X-Auth-Token:$Token" https://{cdm_endpoint}/v1.1/1551c7f6c808414d8e9f3c514a170f2e/clusters -k -v 获取响应如下所示。 { "clusters": [{ "version": "x.x.x", "updated": "2018-09-05T08:38:25", "name": "cdm-ab82", "created": "2018-09-05T08:38:25", "id": "bae65496-643e-47ca-84af-948672de7eeb", "status": "200", "isFrozen": "0", "statusDetail": "Normal", "actionProgress": {}, "config_status": "In-Sync" }] } “status”的状态如果为200则表示集群创建成功,集群对应的ID为bae65496-643e-47ca-84af-948672de7eeb。 使用如下命令将集群对应的ID设置为全局变量,方便后续事项。 export ID = bae65496-643e-47ca-84af-948672de7eeb
  • 获取token 调用其他API前,需要获取token,并设置成环境变量。 curl -H "Content-Type:application/json" https://{iam_endpoint}/v3/auth/tokens -X POST -d ' { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "Username", "password": "password", "domain": { "name": "Account Name" } } } }, "scope": { "project": { "id": "1551c7f6c808414d8e9f3c514a170f2e" } } } } ' -v -k 响应Header中“X-Subject-Token”的值即为Token: X-Subject-Token:MIIDkgYJKoZIhvcNAQcCoIIDgzCCA38CAQExDTALBglghkgBZQMEAgEwgXXXXX... 使用如下命令将token设置为环境变量,方便后续事项。 export Token = MIIDkgYJKoZIhvcNAQcCoIIDgzCCA38CAQExDTALBglghkgBZQMEAgEwgXXXXX...
  • 创建连接 调用创建连接API创建MySQL连接,连接名称为mysql_link。这里假设本地MySQL数据库信息如下: IP地址为1xx.120.85.24。 端口为3306。 数据库名称为DB_name。 登录用户为username。 密码为DB_password。 如果返回状态码为200,则说明创建命令执行成功。 curl -X POST -H "Content-Type:application/json" -H "X-Auth-Token:$Token" -d '{ "links": [{ "enabled": true, "update-user": null, "name": "mysql_link", "link-config-values": { "configs": [ { "name": "linkConfig", "inputs": [ { "name": "linkConfig.databaseType", "value": "MYSQL" }, { "name": "linkConfig.host", "value": "1xx.120.85.24" }, { "name": "linkConfig.port", "value": "3306" }, { "name": "linkConfig.database", "value": "DB_name" }, { "name": "linkConfig.username", "value": "username" }, { "name": "linkConfig.password", "value": "DB_password" }, { "name": "linkConfig.fetchSize", "value": "100000" }, { "name": "linkConfig.usingNative", "value": "true" } ] } ] }, "connector-name": "generic-jdbc-connector", "creation-date": 1536654788622, "update-date": 1536654788622, "creation-user": null }] }' https://{cdm_endpoint}/v1.1/1551c7f6c808414d8e9f3c514a170f2e/clusters/bae65496-643e-47ca-84af-948672de7eeb/cdm/link -k -v 调用创建连接API创建DWS连接,连接名称为dws_link。这里假设DWS数据库信息如下: 数据库的IP地址为10.120.85.24。 端口为3306。 数据库的名称为DWS。 登录用户为user_dws。 密码为dws_password。 curl -X POST -H "Content-Type:application/json" -H "X-Auth-Token:$Token" -d '{ "links": [{ "enabled": true, "update-user": null, "name": "dws_link", "link-config-values": { "configs": [ { "name": "linkConfig", "inputs": [ { "name": "linkConfig.databaseType", "value": "DWS" }, { "name": "linkConfig.host", "value": "10.120.85.24" }, { "name": "linkConfig.port", "value": "3306" }, { "name": "linkConfig.database", "value": "DWS" }, { "name": "linkConfig.username", "value": "user_dws" }, { "name": "linkConfig.password", "value": "dws_password" }, { "name": "linkConfig.fetchSize", "value": "100000" }, { "name": "linkConfig.usingNative", "value": "true" } ] } ] }, "connector-name": "generic-jdbc-connector", "creation-date": 1536654788622, "update-date": 1536654788622, "creation-user": null }] }' https://{cdm_endpoint}/v1.1/1551c7f6c808414d8e9f3c514a170f2e/clusters/bae65496-643e-47ca-84af-948672de7eeb/cdm/link -k -v
  • 查看作业结果 调用查询作业状态API查询作业状态。 curl -X GET -H 'Content-Type:application/json;charset=utf-8' -H "X-Cluster-ID:$ID" -H "X-Auth-Token:$Token" https://{cdm_endpoint}/v1.1/1551c7f6c808414d8e9f3c514a170f2e/clusters/6ec9a0a4-76be-4262-8697-e7af1fac7920/cdm/job/mysql2dws/status -k -v 查看作业执行结果,作业执行成功的响应如下: { "submissions": [{ "progress": 0, "job-name": "mysql2dws", "status": "SUCCEEDED", "creation-date": 1536654788622, "creation-user": "cdm", "isStopingIncrement": "", "last-update-date": 1536654888622, "is-execute-auto": false, "last-udpate-user": "cdm", "isDeleteJob": false, "isIncrementing": false, "external-id": "job_local1127970451_0009", "counters": { "org.apache.sqoop.submission.counter.SqoopCounters": { "BYTES_WRITTEN": -1, "TOTAL_FILES": -1, "BYTES_READ": -1, "FILES_WRITTEN": -1, "TOTAL_SIZE": -1, "FILES_READ": -1, "ROWS_WRITTEN": 80, "ROWS_READ": 80 } } }] } BYTES_WRITTEN:表示写入的字节数。 BYTES_READ:表示读取的字节数。 TOTAL_FILES:表示总文件数。 FILES_WRITTEN:表示写入的文件数。 FILES_READ:表示读取的文件数。 ROWS_WRITTEN:表示写入成功的行数。 ROWS_READ:表示读取成功的行数。
  • 创建迁移作业 连接创建成功后,调用指定集群创建作业API创建迁移作业,作业样例如下: 作业名称:mysql2dws。 从MySQL导出数据的数据库名称为default,导出的表名称为mysql_tbl,依据id字段将作业分割为多个任务并发执行。 导入DWS的数据库名称为public,表名为cdm_all_type,导入前不清空数据。 当DWS数据库里没有本地MySQL数据库中的表时,CDM自动在DWS端创建该表。 DWS端加载的字段列表为id&gid&name。 作业抽取数据时,并发执行的Extractor数量为3。 如果返回状态码为200,则说明创建命令执行成功。 curl -X POST -H "Content-Type:application/json" -H "X-Cluster-ID:$ID" -H "X-Auth-Token:$Token" -d '{ "jobs": [{ "job_type": "NORMAL_JOB", "name": "mysql2dws", "from-link-name": "mysql_link", "from-connector-name": "generic-jdbc-connector", "to-link-name": "dws_link", "to-connector-name": "generic-jdbc-connector", "from-config-values": { "configs": [{ "name": "fromJobConfig", "inputs": [{ "name": "fromJobConfig.schemaName", "value": "default" }, { "name": "fromJobConfig.tableName", "value": "mysql_tbl" }, { "name": "fromJobConfig.partitionColumn", "value": "id" }] }] }, "to-config-values": { "configs": [ { "inputs": [ { "name": "toJobConfig.schemaName", "value": "public" }, { "name": "toJobConfig.tablePreparation", "value": "CREATE_WHEN_NOT_EXIST" }, { "name": "toJobConfig.tableName", "value": "cdm_all_type" }, { "name": "toJobConfig.columnList", "value": "id&gid&name" }, { "name": "toJobConfig.shouldClearTable", "value": "false" } ], "name": "toJobConfig" } ] }, "driver-config-values": { "configs": [{ "name": "throttlingConfig", "inputs": [{ "name": "throttlingConfig.numExtractors", "value": "3" }] }] } }] }' https://{cdm_endpoint}/v1.1/1551c7f6c808414d8e9f3c514a170f2e/clusters/bae65496-643e-47ca-84af-948672de7eeb/cdm/job -k -v 调用启动作业API开始执行作业。 curl -X GET -H 'Content-Type:application/json;charset=utf-8' -H "X-Cluster-ID:$ID" -H "X-Auth-Token:$Token" https://{cdm_endpoint}/v1.1/1551c7f6c808414d8e9f3c514a170f2e/clusters/bae65496-643e-47ca-84af-948672de7eeb/cdm/job/mysql2dws/start -k -v 响应如下: { "submissions": [{ "progress": 1, "job-name": "mysql2dws", "status": "BOOTING", "creation-date": 1536654788622, "creation-user": "cdm" }] }
  • 准备数据 在调用API之前,您需要准备如下数据。 表1 准备数据 数据项 名称 说明 样例 云账户信息 项目名 CDM所属的项目名。 Project Name 项目ID CDM所属的项目ID。 1551c7f6c808414d8e9f3c514a170f2e 账号名 用户所属的企业账户名称。 Account Name 用户名 使用云服务的用户名,该用户需要拥有CDM的操作权限。 Username 密码 用户密码。 password VPC信息 VPC的ID CDM所属的VPC必须与DWS一致。 6b47302a-bf79-4b20-bf7a-80987408e196 子网ID CDM所属的子网必须与DWS一致。 63bdc3cb-a4e7-486f-82ee-d9bf208c8f8c 安全组ID CDM所属的安全组必须与DWS一致。 005af77a-cce5-45ac-99c7-2ea50ea8addf Endpoint IAM的Endpoint 终端节点(Endpoint)即调用API的请求地址,不同服务不同区域的终端节点不同。Endpoint您可以从终端节点及区域说明获取。 iam_endpoint CDM的Endpoint 终端节点(Endpoint)即调用API的请求地址,不同服务不同区域的终端节点不同。本服务的Endpoint您可以从终端节点Endpoint获取。 cdm_endpoint MySQL数据库 IP地址 本地的MySQL数据库的IP地址,且该地址允许CDM通过公网IP访问。 1xx.120.85.24 端口 MySQL数据库的端口。 3306 数据库名称 待导出数据的MySQL数据库名称。 DB_name 用户名 访问MySQL数据库的用户,该用户拥有MySQL数据库的读、写和删除权限。 username 密码 访问MySQL数据库的用户密码。 DB_password DWS数据库 IP地址 DWS数据库的IP地址,CDM可通过内网访问该地址。 10.120.85.24 端口 DWS数据库的端口。 3306 数据库名称 待写入数据的DWS数据库名称。 DWS 用户名 访问DWS数据库的用户,该用户拥有DWS数据库的读、写和删除权限。 user_dws 密码 访问DWS数据库的用户密码。 dws_password
  • 响应示例 状态码: 200 ok { "name" : "mysql2hive" } 状态码: 400 请求报错 { "code" : "Cdm.0104", "errCode" : "Cdm.0104", "message" : "Job name already exist or created by other.", "ternalMessage" : "Job name already exist or created by other." }
  • 响应参数 状态码: 200 表9 响应Body参数 参数 参数类型 描述 name String 作业名称。 validation-result Array of JobValidationResult objects 校验结果: 如果修改失败,返回失败原因。 如果修改成功,返回空列表。 表10 JobValidationResult 参数 参数类型 描述 message String 错误描述 status String ERROR,WARNING 枚举值: ERROR WARNING 状态码: 400 表11 响应Body参数 参数 参数类型 描述 code String 返回编码 errCode String 错误码 message String 报错信息 externalMessage String 附加信息
  • 请求示例 创建一个源端为Elasticsearch数据连接,目的端为DIS数据连接,作业名为es_css的数据迁移作业。 POST /v1.1/1551c7f6c808414d8e9f3c514a170f2e/clusters/6ec9a0a4-76be-4262-8697-e7af1fac7920/cdm/job { "jobs" : [ { "job_type" : "NORMAL_JOB", "from-connector-name" : "elasticsearch-connector", "to-config-values" : { "configs" : [ { "inputs" : [ { "name" : "toJobConfig.streamName", "value" : "dis-lkGm" }, { "name" : "toJobConfig.separator", "value" : "|" }, { "name" : "toJobConfig.columnList", "value" : "1&2&3" } ], "name" : "toJobConfig" } ] }, "to-link-name" : "dis", "driver-config-values" : { "configs" : [ { "inputs" : [ { "name" : "throttlingConfig.numExtractors", "value" : "1" }, { "name" : "throttlingConfig.submitToCluster", "value" : "false" }, { "name" : "throttlingConfig.numLoaders", "value" : "1" }, { "name" : "throttlingConfig.recordDirtyData", "value" : "false" } ], "name" : "throttlingConfig" }, { "inputs" : [ ], "name" : "jarConfig" }, { "inputs" : [ { "name" : "schedulerConfig.isSchedulerJob", "value" : "false" }, { "name" : "schedulerConfig.disposableType", "value" : "NONE" } ], "name" : "schedulerConfig" }, { "inputs" : [ ], "name" : "transformConfig" }, { "inputs" : [ { "name" : "retryJobConfig.retryJobType", "value" : "NONE" } ], "name" : "retryJobConfig" } ] }, "from-config-values" : { "configs" : [ { "inputs" : [ { "name" : "fromJobConfig.index", "value" : "52est" }, { "name" : "fromJobConfig.type", "value" : "est_array" }, { "name" : "fromJobConfig.columnList", "value" : "array_f1_int:long&array_f2_text:string&array_f3_object:nested" }, { "name" : "fromJobConfig.splitNestedField", "value" : "false" } ], "name" : "fromJobConfig" } ] }, "to-connector-name" : "dis-connector", "name" : "es_css", "from-link-name" : "css" } ] }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 jobs 是 Array of Job objects 作业列表,请参见jobs数据结构说明。 表4 Job 参数 是否必选 参数类型 描述 job_type 否 String 作业类型: NORMAL_JOB:表/文件迁移。 BATCH_JOB:整库迁移。 SCENARIO_JOB:场景迁移。 枚举值: NORMAL_JOB BATCH_JOB SCENARIO_JOB from-connector-name 是 String 源端连接类型,对应的连接参数如下: generic-jdbc-connector:关系数据库连接。 obs-connector:OBS连接。 hdfs-connector:HDFS连接。 hbase-connector:HBase连接、CloudTable连接。 hive-connector:Hive连接。 ftp-connector/sftp-connector:FTP/SFTP连接。 mongodb-connector:MongoDB连接。 redis-connector:Redis/DCS连接。 kafka-connector:Kafka连接。 dis-connector:DIS连接。 elasticsearch-connector:Elasticsearch/云搜索服务连接。 dli-connector:DLI连接。 http-connector:HTTP/HTTPS连接,该连接暂无连接参数。 dms-kafka-connector:DMSKafka连接 to-config-values 是 ConfigValues object 目的连接参数配置。根据不同目的端有不同的参数配置,具体可参考目的端作业参数说明下相应的目的端参数配置。 to-link-name 是 String 目的端连接名称,即为通过“创建连接”接口创建的连接对应的连接名。 driver-config-values 是 ConfigValues object 作业任务参数配置。例如配置作业失败重试、抽取并发数,具体可参考作业任务参数说明。 from-config-values 是 ConfigValues object 源连接参数配置。根据不同源端有不同的参数配置,具体可参考源端作业参数说明下相应的源端参数配置。 to-connector-name 否 String 目的端连接类型,对应的连接参数如下: generic-jdbc-connector:关系数据库连接。 obs-connector:OBS连接。 hdfs-connector:HDFS连接。 hbase-connector:HBase连接、CloudTable连接。 hive-connector:Hive连接。 ftp-connector/sftp-connector:FTP/SFTP连接。 mongodb-connector:MongoDB连接。 redis-connector:Redis/DCS连接。 kafka-connector:Kafka连接。 dis-connector:DIS连接。 elasticsearch-connector:Elasticsearch/云搜索服务连接。 dli-connector:DLI连接。 http-connector:HTTP/HTTPS连接,该连接暂无连接参数。 dms-kafka-connector:DMSKafka连接 name 否 String 作业名称,长度在1到240个字符之间 最小长度:1 最大长度:240 from-link-name 否 String 源连接名称,即为通过“创建连接”接口创建的连接对应的连接名。 creation-user 否 String 创建作业的用户。由系统生成,用户无需填写。 creation-date 否 Long 作业创建的时间,单位:毫秒。由系统生成,用户无需填写。 update-date 否 Long 作业最后更新的时间,单位:毫秒。由系统生成,用户无需填写。 is_incre_job 否 Boolean 是否是增量作业。已废弃 flag 否 Integer 是否是定时作业标记,如果是定时作业则为1,否则为0。由系统根据定时任务配置生成,用户无需填写。 files_read 否 Integer 已读文件数。由系统生成,用户无需填写。 update-user 否 String 最后更新作业的用户。由系统生成,用户无需填写。 external_id 否 String 具体执行的作业id,如果是本地作业,则一般为"job_local1202051771_0002"形式,如果是DLI作业,则为DLI作业ID,比如"12345"。由系统生成,用户无需填写。 type 否 String 与job_type一致,作业类型: NORMAL_JOB:表/文件迁移。 BATCH_JOB:整库迁移。 SCENARIO_JOB:场景迁移。 execute_start_date 否 Long 最近一次执行任务开始时间,单位:毫秒。由系统生成,用户无需填写。 delete_rows 否 Integer 增量作业删除行数,已废弃。 enabled 否 Boolean 是否激活连接。由系统生成,用户无需填写。 bytes_written 否 Long 作业写入的字节。由系统生成,用户无需填写。 id 否 Integer 作业ID。由系统生成,用户无需填写。 is_use_sql 否 Boolean 用户是否使用sql。由系统根据源端抽取是否使用sql语句生成,用户无需填写 update_rows 否 Integer 增量作业更新行数,已废弃。 group_name 否 String 组名 bytes_read 否 Long 作业读取的字节。由系统生成,用户无需填写。 execute_update_date 否 Long 最近一次执行任务更新时间,单位:毫秒。由系统生成,用户无需填写。 write_rows 否 Integer 增量作业写入行数,已废弃。 rows_written 否 Integer 作业写入的行数。由系统生成,用户无需填写。 rows_read 否 Long 作业读取的行数。由系统生成,用户无需填写。 files_written 否 Integer 写入文件数。由系统生成,用户无需填写。 is_incrementing 否 Boolean 是否是增量作业,同is_incre_job,已废弃。 execute_create_date 否 Long 最近一次执行任务创建时间,单位:毫秒。由系统生成,用户无需填写。 status 否 String 作业最后的执行状态: BOOTING:启动中。 RUNNING:运行中。 SUCCEEDED:成功。 FAILED:失败。 NEW:未被执行。 表5 ConfigValues 参数 是否必选 参数类型 描述 configs 是 Array of configs objects 源连接参数、目的连接参数和作业任务参数,它们的配置数据结构相同,其中“inputs”里的参数不一样,详细请参见configs数据结构说明 extended-configs 否 extended-configs object 扩展配置,请参见extended-configs参数说明。扩展配置暂不对外开放,用户无需填写。 表6 configs 参数 是否必选 参数类型 描述 inputs 是 Array of Input objects 输入参数列表,列表中的每个参数为“name,value”结构,请参考inputs数据结构参数说明。在“from-config-values”数据结构中,不同的源连接类型有不同的“inputs”参数列表,请参见源端作业参数说明下的章节。在“to-config-values”数据结构中,不同的目的连接类型有不同的“inputs”参数列表,请参见目的端作业参数说明下面的子章节。在“driver-config-values”数据结构中,“inputs”具体参数请参见作业任务参数说明。 name 是 String 配置名称:源端作业的配置名称为“fromJobConfig”。目的端作业的配置名称为“toJobConfig”,连接的配置名称固定为“linkConfig”。 id 否 Integer 配置ID,由系统生成,用户无需填写。 type 否 String 配置类型,由系统生成,用户无需填写。值为LINK或者JOB,如果是连接管理API,则为LINK;如果是作业管理API,则为JOB。 表7 Input 参数 是否必选 参数类型 描述 name 是 String 参数名: 如果是连接管理API,则以“linkConfig.”开头,对于不同连接类型有不同的参数,具体可参见连接参数说明下相应连接的参数说明。 如果是作业管理API,对于源端连接参数,则以“fromJobConfig.”开头,具体可参见源端作业参数说明下相应的源端参数说明;对于目的端连接参数,则以“toJobConfig.”开头,具体可参见目的端作业参数说明下相应的目的端参数说明;对于作业任务参数,请参见作业任务参数说明下相应的任务参数说明。 value 是 String 参数值,参数名对应的值,必须填写为字符串 type 否 String 值类型,如STRING、INTEGER,由系统设定,用户无需填写。 表8 extended-configs 参数 是否必选 参数类型 描述 name 否 String 扩展配置名称,暂不对外开放,用户无需填写。 value 否 String 扩展配置值,暂不对外开放,用户无需填写。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 submissions Array of Submission objects 作业运行信息,详见submissions参数说明。 表4 Submission 参数 参数类型 描述 isIncrementing Boolean 作业是否为增量迁移 job-name String 作业名称 counters counters object 作业运行结果统计,当“status”为“SUCCEEDED”时才有此字段,请参见counters数据结构参数说明 isStopingIncrement String 是否停止增量迁移 is-execute-auto Boolean 是否定时执行作业 last-update-date Long 作业最后更新时间 last-udpate-user String 最后更新作业状态的用户 isDeleteJob Boolean 作业执行完成后是否删除 creation-user String 创建用户 creation-date Long 创建时间 external-id String 作业ID progress Float 作业进度,失败时为“-1”,其它情况为0~100 submission-id Integer 作业提交id delete_rows Integer 删除数据行数 update_rows Integer 更新数据行数 write_rows Integer 写入数据行数 execute-date Long 执行时间 status String 作业状态: BOOTING:启动中。 FAILURE_ON_SUBMIT:提交失败。 RUNNING:运行中。 SUCCEEDED:成功。 FAILED:失败。 UNKNOWN:未知。 NEVER_EXECUTED:未被执行 error-details String 错误详情,当“status”为“FAILED”时才有此字段。 error-summary String 错误总结,当“status”为“FAILED”时才有此字段。 表5 counters 参数 参数类型 描述 org.apache.sqoop.submission.counter.SqoopCounters counter object 作业运行结果统计,请参见统计结果参数说明 表6 counter 参数 参数类型 描述 BYTES_WRITTEN Long 写入的字节数 TOTAL_FILES Integer 总文件数 ROWS_READ Long 读取的行数 BYTES_READ Long 读取的字节数 ROWS_WRITTEN Long 写入的行数 FILES_WRITTEN Integer 写入的文件数 FILES_READ Integer 读取的文件数 TOTAL_SIZE Long 总字节数 FILES_SKIPPED Integer 跳过的文件数 ROWS_WRITTEN_SKIPPED Long 跳过的行数
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 submissions Array of StartJobSubmission objects 作业运行信息,请参见submission参数说明 表4 StartJobSubmission 参数 参数类型 描述 isIncrementing Boolean 作业是否为增量迁移 delete_rows Integer 删除数据行数 update_rows Integer 更新数据行数 write_rows Integer 写入数据行数 submission-id Integer 作业提交id job-name String 作业名称 creation-user String 创建用户 creation-date Long 创建时间,单位:毫秒。 execute-date Long 执行时间 progress Float 作业进度,失败时为“-1”,其它情况为0~100 status String 作业状态: BOOTING:启动中。 FAILURE_ON_SUBMIT:提交失败。 RUNNING:运行中。 SUCCEEDED:成功。 FAILED:失败。 UNKNOWN:未知。 NEVER_EXECUTED:未被执行 isStopingIncrement String 是否停止增量迁移 is-execute-auto Boolean 是否定时执行作业 last-update-date Long 作业最后更新时间 last-udpate-user String 最后更新作业状态的用户 isDeleteJob Boolean 作业执行完成后是否删除
  • 连接样例 { "links": [ { "link-config-values": { "configs": [ { "inputs": [ { "name": "linkConfig.databaseType", "value": "MYSQL" }, { "name": "linkConfig.host", "value": "10.120.205.30" }, { "name": "linkConfig.port", "value": "3306" }, { "name": "linkConfig.database", "value": "DB_name" }, { "name": "linkConfig.username", "value": "username" }, { "name": "linkConfig.password", "value": "Add password here" }, { "name": "linkConfig.useAgent", "value": "false" }, { "name": "linkConfig.fetchSize", "value": "100000" }, { "name": "linkConfig.commitSize", "value": "10000" }, { "name": "linkConfig.usingNative", "value": "false" }, { "name": "linkConfig.useSSL", "value": "false" } ], "name": "linkConfig" } ] }, "name": "mysql_link", "connector-name": "generic-jdbc-connector" } ] }
  • 连接参数 参数 是否必选 类型 说明 linkConfig.databaseType 是 枚举 数据库类型: ORACLE MYSQL SQLSERVER DB2 POSTGRESQL DWS DDM SAP HANA linkConfig.host 是 String 数据库服务器地址。 linkConfig.port 是 String 数据库服务器的端口号。 linkConfig.databaseconfig 否 枚举 创建Oracle连接时才有该参数,选择Oracle数据库连接类型: SERVICENAME:通过SERVICE_NAME连接Oracle数据库。 SID:通过SID连接Oracle数据库。 linkConfig.sidname 否 String 配置Oracle实例ID,用于实例区分各个数据库。创建Oracle连接,且linkConfig.databaseconfig(数据库连接类型)选择为“SID”时才有该参数。 linkConfig.database 否 String 数据库名称。 linkConfig.username 是 String 用户名。 linkConfig.password 是 String 用户密码。 linkConfig.useAgent 是 Boolean 选择是否通过agent从源端获取数据。 linkConfig.fetchSize 否 String 每次请求获取的数据行数。 linkConfig.commitSize 否 String 每次请求提交的数据行数。 linkConfig.usingNative 否 Boolean 是否使用数据库本地API加速。 创建MySQL连接时,使用本地API加速,可以使用MySQL的LOAD DATA功能加快数据导入,提高导入数据到MySQL数据库的性能。 说明: REPLACE 和 IGNORE 修饰符用于处理与现有行具有相同唯一键值(PRIMARY KEY或UNIQUE索引值)的新输入的行。 约束冲突处理配置为"replace into"或"local",使用REPLACE,与现有行中的唯一键值具有相同值的新行将替换现有行。 约束冲突处理配置为"insert into",默认使用IGNORE,与唯一键值上的现有行重复的新行将被丢弃,任务不会终止。因为Mysql服务机制无法在操作过程中停止文件传输,此情况下,CDM界面显示写入记录与实际更新行数会不一致。 Mysql Local模式详情请参见:https://dev.mysql.com/doc/refman/8.0/en/load-data.html linkConfig.isRds 否 Boolean 是否支持RDS服务,云数据库默认true,其余默认false linkConfig.useSSL 否 Boolean 是否使用加密传输,支持对RDS服务启用SSL加密传输,仅在创建dws连接时才有此参数。 linkConfig.jdbcProperties 否 Map 连接属性,指定数据源的JDBC连接器的属性,参考对应数据库的JDBC连接器说明文档进行配置。 linkConfig.version 否 枚举 创建Oracle连接时才有该参数,根据您Oracle数据库的版本来选择。 HIGH_VERSION:当您的Oracle数据库版本高于12.1时,选择该值。 MED_VERSION:当您的Oracle数据库版本为12.1时,选择该值。 LOW_VERSION:当您的Oracle数据库版本低于12.1时,选择该值。 当出现“java.sql.SQLException: Protocol violation异常”时,可以尝试更换版本号。 dialect.identifierEnclose 否 String 引用符号,连接引用表名或列名时的分隔符号,参考对应数据库的产品文档进行配置。
  • 参数说明 参数 是否必选 类型 说明 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.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" } ] }
  • 错误码 调用API出错后,将不会返回结果数据。调用方可根据每个API对应的错误码来定位错误原因。当调用出错时,HTTP请求返回一个4xx或5xx的HTTP状态码。返回的消息体中是具体的错误代码及错误信息。在调用方找不到错误原因时,可以联系客服,并提供错误码,以便尽快帮您解决问题。 异常响应样例 { "errCode": "Cdm.0100", "externalMessage": "Job[jdbc2hive] doesn't exist." } 参数说明 参数 是否必选 类型 说明 errCode 否 String 错误码。 externalMessage 否 String 错误消息。 错误码说明 以下错误信息中的%s为变量,实际返回信息时会替换为具体的参数名、表名、作业名、连接名等。 当您调用API时,如果遇到“APIGW”开头的错误码,请参见API网关错误码进行处理。 错误码 状态码 错误信息 描述 处理措施 Cdm.0000 400 系统错误。 系统错误。 请联系客服或技术支持人员协助解决。 Cdm.0001 400 资源不存在或不合法。 请求的资源不存在或无访问权限。 请联系客服或技术支持人员协助解决。 Cdm.0004 400 无效的参数类型 输入参数和类型不匹配 请根据错误提示将参数修改正确后请重试。 Cdm.0009 400 %s不是整型数字或超出整型数的取值范围[0~2147483647]。 输入参数不是整型数字或超出整型数的取值范围。 请根据错误提示将参数修改正确后请重试。 Cdm.0010 400 整数必须在区间[%s]。 校验程序的参数缺失或长度为0。 请根据错误提示将参数修改正确后请重试。 Cdm.0011 400 输入超过取值范围。 参数格式不正确或超过取值范围,无法解析。 请根据返回的详细错误信息,确认参数值是否合法,修改正确后请重试。 Cdm.0012 400 没有匹配的数据库JDBC驱动。 没有匹配的数据库JDBC驱动。 请联系客服或技术支持人员协助解决。 Cdm.0013 400 Agent连接失败。 Agent连接失败。 可能是由于网络不通、安全组或防火墙规则未放行等原因。若排除上述原因后仍无法解决,请联系技术支持人员协助解决。 Cdm.0014 400 非法参数。 参数不合法。 请确认参数值是否合法,修改正确后请重试。 Cdm.0015 400 解析文件内容出错。 解析文件内容失败。 请确认上传的文件内容或格式是否正确,修改正确后请重试。 Cdm.0016 400 上传文件不能为空。 上传的文件为空。 请确认上传的文件是否为空,修改正确后请重试。 Cdm.0017 400 无法将输入值保存到存储库 无法将输入值保存到存储库。 请联系客服或技术支持人员协助解决。 Cdm.0018 400 作业和连接内容不合法。 作业和连接内容非法。 请联系客服或技术支持人员协助解决。 Cdm.0019 400 无法删除存储库中的链接 删除存储库中的链接失败。 请稍后重试,或联系或客服或技术支持人员协助解决。 Cdm.0020 400 必须包含子字符串:%s。 被校验参数为空或不包含指定子字符串。 请根据错误提示将参数修改正确后,再重试。 Cdm.0021 400 不能连接服务器:%s。 连接服务器失败。 请联系客服或技术支持人员协助解决。 Cdm.0024 400 [%s]必须在区间[%s]。 被校验参数不在指定区间范围内。 请根据错误提示将参数修改正确后,再重试。 Cdm.0031 400 无法创建新的提交数据 无法创建新的提交数据 请联系客服或技术支持人员协助解决。 Cdm.0032 400 当前用户没有操作权限,请通过IAM检查账户权限! 用户权限不足 在CDM控制台操作时,请参考CDM权限管理为该用户授予足够的操作权限。 在DataArts Studio控制台操作时,请参考DataArts Studio权限管理为该用户授予足够的操作权限。 Cdm.0037 400 无法提交作业。 无法提交作业。 请联系客服或技术支持人员协助解决。 Cdm.0051 400 无效的提交引擎:%s。 作业引擎名称非法。 请指定正确的作业引擎后再重试。 Cdm.0052 400 作业%s正在运行。 作业正在运行。 作业正在运行,无法执行当前操作,请等待作业运行结束后再重试。 Cdm.0053 400 作业%s未运行。 作业未运行。 请运行作业后再重试。 Cdm.0054 400 作业%s不存在。 作业不存在。 请确认作业是否存在。 Cdm.0055 400 作业类型不支持。 作业类型不支持。 请参考官网,配置支持的作业类型。 Cdm.0056 400 不能提交作业。原因:%s。 作业提交失败。 请根据返回的详细错误信息,定位原因,修改正确后请重试。 Cdm.0057 400 无效的作业执行引擎:%s。 作业引擎无效。 请指定正确的作业引擎后再重试。 Cdm.0058 400 提交和执行引擎组合不合法。 提交和执行引擎组合不合法。 请指定正确的作业引擎后再重试。 Cdm.0059 400 作业%s已被禁用。不能提交作业。 作业已被禁用,无法提交。 当前作业无法提交,建议重新创建一个作业后再重试。或者,请联系客服或技术支持人员协助解决。 Cdm.0060 400 作业使用的连接%s已被禁用。不能提交作业。 作业使用的连接已被禁用。 请改为其他连接后,再重新提交作业。 Cdm.0061 400 连接器%s不支持此方向。不能提交作业。 该连接器不能作为作业的源端或目的端。 该连接器不能作为作业的源端或目的端,请改为其他连接后,再重新提交作业。 Cdm.0062 400 二进制文件仅适合SFTP/FTP/HDFS/OBS连接器。 连接器不在指定的范围内。 请指定正确的连接器后再重试。 Cdm.0063 400 创建表格错误。原因:%s。 创建表格失败。 请根据返回的详细错误信息定位原因,修改正确后请重试。 Cdm.0064 400 数据格式不匹配。 数据格式不匹配。 请根据返回的详细错误信息,确认数据格式是否正确,修改正确后请重试。 Cdm.0065 400 定时器启动失败,原因%s。 定时器启动失败。 请联系客服或技术支持人员协助解决。 Cdm.0066 400 获取样值失败,原因:%s。 获取样值失败。 请联系客服或技术支持人员协助解决。 Cdm.0067 400 获取Schema失败,原因:%s。 获取Schema失败。 请联系客服或技术支持人员协助解决。 Cdm.0085 400 %s 超过最大值 %s。 参数超过最大值。 请根据错误提示进行定位,若无法解决,请联系客服或技术支持人员协助解决。 Cdm.0089 400 配置项 [%s] 不存在。 配置项不存在。 请根据错误提示进行定位,若无法解决,请联系客服或技术支持人员协助解决。 Cdm.0100 400 作业[%s]不存在。 作业不存在。 请指定正确的作业后再重试。 Cdm.0101 400 连接[%s]不存在。 连接不存在。 请指定正确的连接后再重试。 Cdm.0102 400 连接器[%s]不存在。 连接器不存在。 请指定正确的连接器后再重试。 Cdm.0104 400 作业名已存在。 作业名已存在。 作业名已存在,请重新命名后,再重试。 Cdm.0201 400 获取实例失败。 获取实例失败。 请联系客服或技术支持人员协助解决。 Cdm.0202 400 作业状态未知。 作业状态未知。 请稍后重试,或请联系客服或技术支持人员协助解决。 Cdm.0204 400 没有已创建的MRS连接。 没有已创建的MRS连接。 当前没有MRS连接,您需要先前往集群的“连接管理”页面创建一个MRS连接,然后再重新执行当前的操作。 Cdm.0230 400 不能加载该类:%s。 类加载失败。 请联系客服或技术支持人员协助解决。 Cdm.0231 400 不能初始化该类:%s。 类初始化失败。 请联系客服或技术支持人员协助解决。 Cdm.0232 400 数据写入失败。原因:%s。 数据写入失败。 请联系客服或技术支持人员协助解决。 Cdm.0233 400 提取数据过程异常。原因:%s。 提取数据过程异常。 请联系客服或技术支持人员协助解决。 Cdm.0234 400 载入数据过程异常。原因:%s。 载入数据过程异常。 请联系客服或技术支持人员协助解决。 Cdm.0235 400 数据已全部消费完毕。原因:%s。 数据已全部消费完毕。 请根据错误提示进行定位,若无法解决,请联系客服或技术支持人员协助解决。 Cdm.0236 400 从分区程序中检索到无效分区数。 从分区程序中检索到无效分区数。 请根据错误提示进行定位,若无法解决,请联系客服或技术支持人员协助解决。 Cdm.0238 400 %s不能为空。 参数不合法。 请根据错误提示将参数修改正确后再重试。 Cdm.0240 400 获取文件%s状态失败。 获取文件状态失败。 请联系客服或技术支持人员协助解决。 Cdm.0241 400 获取文件%s类型失败。 获取文件类型失败。 请联系客服或技术支持人员协助解决。 Cdm.0242 400 文件检查异常:%s。 文件检查异常。 请联系客服或技术支持人员协助解决。 Cdm.0243 400 重命名%s为%s失败。 重命名失败。 可能是名称已存在,请重新命名后再重试。 Cdm.0244 400 创建文件%s失败。 创建文件失败。 请确认是否具有创建权限,或稍后重试。若无法解决,请联系客服或技术支持人员协助解决。 Cdm.0245 400 删除文件%s失败。 删除文件失败。 请确认是否具有删除权限,或稍后重试。若无法解决,请联系客服或技术支持人员协助解决。 Cdm.0246 400 创建目录%s失败。 创建目录失败。 请确认是否具有创建权限,或稍后重试。若无法解决,请联系客服或技术支持人员协助解决。 Cdm.0247 400 操作HBase失败。原因:%s。 操作HBase失败。 请根据错误提示进行定位,若无法解决,请联系客服或技术支持人员协助解决。 Cdm.0248 400 清空%s数据失败。原因:%s。 清空数据失败。 请根据错误提示进行定位,若无法解决,请联系客服或技术支持人员协助解决。 Cdm.0249 400 文件名%s无效。 文件名无效。 请将文件名修改正确后,再重试。 Cdm.0250 400 不能操作该路径:%s。 不能操作该路径。 请确认是否具有该路径的操作权限,或稍后重试。若无法解决,请联系客服或技术支持人员协助解决。 Cdm.0251 400 向HBase加载数据失败。原因:%s。 向HBase加载数据失败。 请根据错误提示进行定位,若无法解决,请联系客服或技术支持人员协助解决。 Cdm.0307 400 无法获得请求事务的链接租约,原因:%s。 无法获得请求事务的链接租约。 请根据错误提示进行定位,若无法解决,请联系客服或技术支持人员协助解决。 Cdm.0315 400 连接名%s已存在。 该连接已存在。 请指定其他连接名后再重试。 Cdm.0316 400 无法更新不存在的连接。 无法更新不存在的连接。 请指定正确的连接后再重试。 Cdm.0317 400 连接%s无效。 连接无效。 请指定正确的连接后再重试。 Cdm.0318 400 作业已存在,无法重复创建。 作业已存在。 请指定其他作业名再重试。 Cdm.0319 400 无法更新不存在的作业。 无法更新不存在的作业。 请确认待更新的作业是否存在,作业名修改正确后再重试。 Cdm.0320 400 作业%s无效。 作业无效。 请联系客服或技术支持人员协助解决。 Cdm.0321 400 连接%s已被使用。 连接已被使用。 连接已被使用,无法执行当前的操作,请将连接释放后再重试。 Cdm.0322 400 作业%s已被使用。 作业已被使用。 请联系客服或技术支持人员协助解决。 Cdm.0323 400 该提交已存在,无法重复创建。 该提交已存在。 您已提交过相同操作的请求,请稍后再重试。 Cdm.0327 400 无效的连接或作业:%s。 无效的连接或作业。 请指定正确的连接或作业再重试。 Cdm.0411 400 连接到文件服务器时出错。 连接到文件服务器时出错。 请联系客服或技术支持人员协助解决。 Cdm.0413 400 向文件服务器传输数据时出错。 向文件服务器传输数据时出错。 请联系客服或技术支持人员协助解决。 Cdm.0415 400 从文件服务器下载文件出错。 从文件服务器下载文件出错。 请联系客服或技术支持人员协助解决。 Cdm.0416 400 抽取数据时出错。 抽取数据时出错。 请联系客服或技术支持人员协助解决。 Cdm.0420 400 源文件或源目录不存在。 源文件或源目录不存在。 请确认源文件或源目录是否存在,修改正确后再重试。 Cdm.0423 400 目的路径存在重复文件。 目的路径存在重复文件。 请在目的路径中删除重复文件后再重试。 Cdm.0501 400 无效的URI[%s]。 无效的URI。 请指定正确的URI后,再重试。 Cdm.0518 400 连接HDFS失败。原因:%s。 连接HDFS失败。 请根据错误提示进行定位,若无法解决,请联系客服或技术支持人员协助解决。 Cdm.0600 400 无法连接FTP服务器。 无法连接FTP服务器。 可能是由于网络不通、安全组或防火墙规则未放行、FTP主机名无法解析、FTP用户名密码错误等原因。若排除上述原因后仍无法解决,请联系客服或技术支持人员协助解决。 Cdm.0700 400 无法连接SFTP服务器。 无法连接SFTP服务器。 可能是由于网络不通、安全组或防火墙规则未放行、SFTP主机名无法解析、SFTP用户名密码错误等原因。若排除上述原因后仍无法解决,请联系客服或技术支持人员协助解决。 Cdm.0800 400 无法连接OBS服务器。 无法连接OBS服务器。 可能是由于OBS终端节点与当前区域不一致、AK/SK错误、AK/SK不是当前用户的AK/SK、安全组或防火墙规则未放行等原因。若排除上述原因后仍无法解决,请联系客服或技术支持人员协助解决。 Cdm.0801 400 OBS桶[%s]不存在。 OBS桶不存在。 指定的OBS桶可能不存在或不在当前区域,请指定正确的OBS桶后再重试。 Cdm.0831 400 无法连接到KODO服务器。原因:%s。 无法连接到KODO服务器。 请联系客服或技术支持人员协助解决。 Cdm.0900 400 表[%s]不存在。 表不存在。 请指定正确的表名后再重试。 Cdm.0901 400 无法连接数据库服务器。原因:%s。 无法连接数据库服务器。 请联系客服或技术支持人员协助解决。 Cdm.0902 400 SQL语句无法执行。原因%s。 SQL语句无法执行。 请根据错误提示进行定位,若无法解决,请联系客服或技术支持人员协助解决。 Cdm.0903 400 元数据获取失败。原因:%s。 元数据获取失败。 请确认在集群的“连接管理”页面创建连接时引用符号是否正确或查看数据库表是否存在。若仍无法解决,请联系客服或技术支持人员协助解决。 Cdm.0904 400 从结果中检索数据时发生错误。原因:%s。 从结果中检索数据时发生错误。 请根据错误提示进行定位,若无法解决,请联系客服或技术支持人员协助解决。 Cdm.0913 400 Schema和SQL不可以同时为空。 Schema和SQL需指定其中一项。 请确认Schema和SQL是否同时为空,请指定其中一项后,再重试。 Cdm.0916 400 增量读取情况下必须指定上次的值。 增量读取时未指定上次的值。 请指定上次的值后再重试。 Cdm.0917 400 缺少字段检查将无法获得上次的值。 缺少字段。 请联系客服或技术支持人员协助解决。 Cdm.0921 400 不支持类型%s。 类型不合法。 请指定正确的类型后再重试。 Cdm.0925 400 分区字段含有不支持的值。 分区字段含有不支持的值。 请确认分区字段是否含有不支持的值,修改正确后再重试。 Cdm.0926 400 取不到Schema。原因:%s。 获取Schema失败。 请根据错误提示进行定位,若无法解决,请联系客服或技术支持人员协助解决。 Cdm.0927 400 中转表不为空。 中转表不为空。 请指定一个空的中转表后再重试。 Cdm.0928 400 中转表到目的表进行数据迁移时发生错误。 中转表到目的表进行数据迁移时发生错误。 请联系客服或技术支持人员协助解决。 Cdm.0931 400 Schema字段大小[%s]与结果集的字段大小[%s]不匹配。 Schema字段大小与结果集的字段大小不匹配。 请将Schema字段大小和结果集中的字段大小改为一致后再重试。 Cdm.0932 400 找不到字段最大值。 找不到字段最大值。 请联系客服或技术支持人员协助解决。 Cdm.0934 400 不同Schema/Catalog下有重名表。 不同Schema/Catalog下有重名表。 请联系客服或技术支持人员协助解决。 Cdm.0936 400 错误脏数据条数达到上限。 错误脏数据条数达到上限。 您可以编辑作业,在作业的任务配置中将错误脏数据条数增大。 Cdm.0940 400 表名准确匹配失败。 表名准确匹配失败。 匹配不到表名,请指定正确的表名后再重试。 Cdm.0941 400 无法连接服务器。原因:[%s] 无法连接服务器。 请检查IP、主机名、端口填写是否正确,检查网络安全组和防火墙配置是否正确,参考数据库返回消息进行定位。若仍无法解决,请联系客服或技术支持人员协助解决。 Cdm.0950 400 当前认证信息无法连接到数据库。 当前认证信息无法连接到数据库。 认证信息错误,请修改正确后再重试。 Cdm.0962 400 必须指定主机IP。 未指定主机IP。 未指定主机IP,请指定主机IP后,再重试。 Cdm.0963 400 必须指定主机端口。 未指定主机端口。 未指定主机端口,请指定主机端口后,再重试。 Cdm.0964 400 必须指定数据库。 未指定数据库。 未指定数据库,请指定数据库后,再重试。 Cdm.1000 400 Hive表[%s]不存在。 Hive表不存在。 请输入正确的Hive表名后,再重试。 Cdm.1010 400 无效的URI %s。URI必须为null或有效的URI。 无效的URI。 请输入正确的URI后,再重试。下面是一些URI示例: hdfs://example.com:8020/ hdfs://example.com/ file:/// file:///tmp file://localhost/tmp Cdm.1011 400 连接Hive失败,原因:%s。 连接Hive失败。 请根据错误提示进行定位,若无法解决,请联系客服或技术支持人员协助解决。 Cdm.1100 400 表[%s]不存在。 表不存在。 请确认表是否存在,输入正确的表名后再重试。 Cdm.1101 400 获取连接失败,原因:%s。 获取连接失败。 请根据错误提示进行定位,若无法解决,请联系客服或技术支持人员协助解决。 Cdm.1102 400 创表失败,原因:%s。 创建表失败。 请根据错误提示进行定位,若无法解决,请联系客服或技术支持人员协助解决。 Cdm.1103 400 未设置Rowkey。 未设置Rowkey。 请设置Rowkey后再重试。 Cdm.1104 400 打开表格失败。原因:%s。 打开表格失败。 请根据错误提示进行定位,若无法解决,请联系客服或技术支持人员协助解决。 Cdm.1105 400 作业初始化失败。原因%s。 作业初始化失败。 请根据错误提示进行定位,若无法解决,请联系客服或技术支持人员协助解决。 Cdm.1111 400 表名不能为空。 表名为空。 请输入正确的表名后,再重试。 Cdm.1114 400 Rowkey为空,请在字段映射步骤重新设置。 Rowkey为空。 请按照错误提示进行处理。 Cdm.1115 400 Columns为空,请在字段映射步骤重新设置。 Columns为空。 请按照错误提示进行处理。 Cdm.1116 400 列名重复,请在字段映射步骤重新设置。 列名重复。 请按照错误提示进行处理。 Cdm.1117 400 判断表格是否存在失败,原因:%s。 判断表格是否存在失败。 请根据错误提示进行定位,若无法解决,请联系客服或技术支持人员协助解决。 Cdm.1118 400 表%s不包含列族%s。 表中不包含列族。 请指定列族后再重试。 Cdm.1120 400 表中有数据,请清空表数据或重新设置导入前是否清空表数据配置项。 表中有数据,请清空表数据或重新设置导入前是否清空表数据配置项。 请按照错误提示进行处理。 Cdm.1121 400 关闭连接已失败。原因:%s。 关闭连接失败。 请根据错误提示进行定位,若无法解决,请联系客服或技术支持人员协助解决。 Cdm.1201 400 不能连接到Redis服务器,原因:%s。 无法连接到Redis服务器。 请根据错误提示进行定位,若无法解决,请联系客服或技术支持人员协助解决。 Cdm.1203 400 从Redis服务器抽取数据失败,原因:%s。 从Redis服务器获取数据失败。 请根据错误提示进行定位,若无法解决,请联系客服或技术支持人员协助解决。 Cdm.1205 400 Redis值前缀不能为空白符。 Redis值前缀不能为空白符。 请去除Redis前缀前的空白符,然后再重试。 Cdm.1206 400 Redis值存储类型必须指定为“string”或“hash”。 Redis值存储类型必须指定为“string”或“hash”。 请按照错误提示进行处理。 Cdm.1207 400 当值存储类型为“string”时,必须指定值分隔符。 值存储类型为“string”,未指定值分隔符。 请指定分隔符后再重试。 Cdm.1208 400 Redis存储字段列表必须指定。 Redis存储字段列表未指定。 请指定Redis存储字段列表后再重试。 Cdm.1209 400 Redis键分隔符不能为空白符。 Redis键分隔符不能为空白符。 请输入正确的分隔符后,再重试。 Cdm.1210 400 必须指定Redis主键字段列表。 Redis主键字段列表未指定。 请指定Redis主键字段列表后再重试。 Cdm.1211 400 Redis主键字段列表必须在字段列表中存在。 Redis主键字段列表不在字段列表中。 请指定Redis主键字段列表后再重试。 Cdm.1213 400 必须指定Redis服务器列表。 未指定Redis服务器列表。 请指定Redis服务器列表后再重试。 Cdm.1301 400 不能连接到MongoDB服务器,原因:%s。 连接到MongoDB服务器失败 请根据错误提示进行定位,若无法解决,请联系客服或技术支持人员协助解决。 Cdm.1302 400 从MongoDB服务器抽取数据失败,原因:%s。 从MongoDB服务器抽取数据失败。 请根据错误提示进行定位,若无法解决,请联系客服或技术支持人员协助解决。 Cdm.1304 400 必须指定MongoDB服务器的集合。 未指定MongoDB服务器的集合。 未指定MongoDB服务器的集合,请指定后,再重试。 Cdm.1305 400 必须指定MongoDB服务列表。 未指定MongoDB服务列表。 未指定MongoDB服务列表,请指定后,再重试。 Cdm.1306 400 必须指定MongoDB服务的数据库名称。 未指定MongoDB服务的数据库名称。 未指定MongoDB服务的数据库名称,请指定数据库后,再重试。 Cdm.1307 400 必须指定MongoDB服务的字段列表。 未指定MongoDB服务的字段列表。 未指定MongoDB服务的字段列表,请指定字段列表后,再重试。 Cdm.1501 400 不能连接到Elasticsearch服务器,原因:%s。 无法连接到Elasticsearch服务器 请根据错误提示进行定位,若无法解决,请联系客服或技术支持人员协助解决。 Cdm.1502 400 向Elasticsearch服务器写入数据失败,原因:%s。 向Elasticsearch服务器写入数据失败。 请根据错误提示进行定位,若无法解决,请联系客服或技术支持人员协助解决。 Cdm.1503 400 关闭Elasticsearch连接失败,原因:%s。 关闭Elasticsearch连接失败。 请根据错误提示进行定位,若无法解决,请联系客服或技术支持人员协助解决。 Cdm.1504 400 获取Elasticsearch索引错误,原因:%s。 获取Elasticsearch索引错误 请根据错误提示进行定位,若无法解决,请联系客服或技术支持人员协助解决。 Cdm.1505 400 获取Elasticsearch类型错误,原因:%s。 获取Elasticsearch类型错误。 请根据错误提示进行定位,若无法解决,请联系客服或技术支持人员协助解决。 Cdm.1506 400 获取Elasticsearch文档字段错误,原因:%s。 获取Elasticsearch文档字段错误。 请根据错误提示进行定位,若无法解决,请联系客服或技术支持人员协助解决。 Cdm.1508 400 必须指定Elasticsearch服务器主机名或IP地址。 未指定Elasticsearch服务器主机名或IP地址。 未指定Elasticsearch服务器主机名或IP地址,请指定后,再重试。 Cdm.1510 400 必须指定Elasticsearch索引。 未指定Elasticsearch索引。 当前未指定Elasticsearch索引,请指定后再重试。 Cdm.1511 400 必须指定Elasticsearch类型。 未指定Elasticsearch类型。 当前未指定Elasticsearch类型,请指定后再重试。 Cdm.1513 400 字段列表中必须包含字段类型定义。 字段列表中未包含字段类型定义。 请确认字段列表中是否包含字段类型定义,修改正确后再重试。 Cdm.1514 400 字段列表中必须包含主键字段。 未设置主键字段。 当前未设置主键字段,请设置主键字段后再重试。 Cdm.1516 400 非法列名%s。 列名不合法。 请确认列名是否合法,输入正确的列名后再重试。 Cdm.1517 400 获取文档数量产生错误。 获取文档数量产生错误。 请联系客服或技术支持人员协助解决。 Cdm.1519 400 抽取数据错误。 抽取数据错误。 请联系客服或技术支持人员协助解决。 Cdm.1601 400 连接服务器失败。 连接服务器失败。 请联系客服或技术支持人员协助解决。 Cdm.1603 400 获取topic %s的样值失败。 获取topic样值失败。 请联系客服或技术支持人员协助解决。 Cdm.1604 400 topic %s没有数据。 该topic中无数据。 该topic中无数据,请排查无数据的原因。或者,请改为其他topic后再重试。 父主题: 附录
  • 调用API获取项目ID 项目ID可以通过调用查询指定条件下的项目信息API获取,接口为“GET https://{Endpoint}/v3/projects”,其中{Endpoint}为IAM的终端节点,可参考IAM文档获取。 接口的认证鉴权请参见认证鉴权。 响应示例如下,其中projects下的“id”即为项目ID。当返回多个id,请依据实际的区域(name)获取。 { "projects": [ { "domain_id": "65382450e8f64ac0870cd180d14e684b", "is_domain": false, "parent_id": "65382450e8f64ac0870cd180d14e684b", "name": "region-name", "description": "", "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects/a4a5d4098fb4474fa22cd05f897d6b99" }, "id": "a4a5d4098fb4474fa22cd05f897d6b99", "enabled": true } ], "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects" } }
  • JSON样例 "from-config-values": { "configs": [ { "inputs": [ { "name": "fromJobConfig.useSql", "value": "false" }, { "name": "fromJobConfig.schemaName", "value": "rf_database" }, { "name": "fromJobConfig.tableName", "value": "rf_from" }, { "name": "fromJobConfig.columnList", "value": "AA&BB" }, { "name": "fromJobConfig.incrMigration", "value": "false" } ], "name": "fromJobConfig" } ] }
  • JSON样例 "from-config-values": { "configs": [ { "inputs": [ { "name": "fromJobConfig.hive", "value": "hive" }, { "name": "fromJobConfig.database", "value": "rf_database" }, { "name": "fromJobConfig.table", "value": "rf_from" }, { "name": "fromJobConfig.columnList", "value": "tiny&small&int&integer&bigint&float&double×tamp&char&varchar&text" } ], "name": "fromJobConfig" } ] }
  • 参数说明 参数 是否必选 类型 说明 fromJobConfig.hive 否 String 待抽取数据的数据源,作业源端为Hive时,这里为“hive”。 fromJobConfig.database 否 String 待抽取数据的数据库,例如“default”。 fromJobConfig.table 是 String 待抽取数据的表名,例如“cdm”。 fromJobConfig.columnList 否 String 需要抽取的列号,列号之间使用“&”分割,并由小到大排序,例如:“1&3&5”。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 validation-result Array of JobValidationResult objects 校验结构:如果停止作业接失败,返回失败原因,请参见validation-result参数说明。如果停止成功,返回空列表。 表4 JobValidationResult 参数 参数类型 描述 message String 错误描述 status String ERROR,WARNING 枚举值: ERROR WARNING
  • 状态码 状态码如表1所示。 表1 状态码 状态码 编码 状态说明 100 Continue 继续请求。 这个临时响应用来通知客户端,它的部分请求已经被服务器接收,且仍未被拒绝。 101 Switching Protocols 切换协议。只能切换到更高级的协议。 例如,切换到HTTP的新版本协议。 201 Created 创建类的请求完全成功。 202 Accepted 已经接受请求,但未处理完成。 203 Non-Authoritative Information 非授权信息,请求成功。 204 NoContent 请求完全成功,同时HTTP响应不包含响应体。 在响应OPTIONS方法的HTTP请求时返回此状态码。 205 Reset Content 重置内容,服务器处理成功。 206 Partial Content 服务器成功处理了部分GET请求。 300 Multiple Choices 多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择。 301 Moved Permanently 永久移动,请求的资源已被永久的移动到新的URI,返回信息会包括新的URI。 302 Found 资源被临时移动。 303 See Other 查看其它地址。 使用GET和POST请求查看。 304 Not Modified 所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。 305 Use Proxy 所请求的资源必须通过代理访问。 306 Unused 已经被废弃的HTTP状态码。 400 BadRequest 非法请求。 建议直接修改该请求,不要重试该请求。 401 Unauthorized 在客户端提供认证信息后,返回该状态码,表明服务端指出客户端所提供的认证信息不正确或非法。 402 Payment Required 保留请求。 403 Forbidden 请求被拒绝访问。 返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置为拒绝访问,建议直接修改该请求,不要重试该请求。 404 NotFound 所请求的资源不存在。 建议直接修改该请求,不要重试该请求。 405 MethodNotAllowed 请求中带有该资源不支持的方法。 建议直接修改该请求,不要重试该请求。 406 Not Acceptable 服务器无法根据客户端请求的内容特性完成请求。 407 Proxy Authentication Required 请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权。 408 Request Time-out 服务器等候请求时发生超时。 客户端可以随时再次提交该请求而无需进行任何更改。 409 Conflict 服务器在完成请求时发生冲突。 返回该状态码,表明客户端尝试创建的资源已经存在,或者由于冲突请求的更新操作不能被完成。 410 Gone 客户端请求的资源已经不存在。 返回该状态码,表明请求的资源已被永久删除。 411 Length Required 服务器无法处理客户端发送的不带Content-Length的请求信息。 412 Precondition Failed 未满足前提条件,服务器未满足请求者在请求中设置的其中一个前提条件。 413 Request Entity Too Large 由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息。 414 Request-URI Too Large 请求的URI过长(URI通常为网址),服务器无法处理。 415 Unsupported Media Type 服务器无法处理请求附带的媒体格式。 416 Requested range not satisfiable 客户端请求的范围无效。 417 Expectation Failed 服务器无法满足Expect的请求头信息。 422 UnprocessableEntity 请求格式正确,但是由于含有语义错误,无法响应。 429 TooManyRequests 表明请求超出了客户端访问频率的限制或者服务端接收到多于它能处理的请求。建议客户端读取相应的Retry-After首部,然后等待该首部指出的时间后再重试。 500 InternalServerError 表明服务端能被请求访问到,但是不能理解用户的请求。 501 Not Implemented 服务器不支持请求的功能,无法完成请求。 502 Bad Gateway 充当网关或代理的服务器,从远端服务器接收到了一个无效的请求。 503 ServiceUnavailable 被请求的服务无效。 建议直接修改该请求,不要重试该请求。 504 ServerTimeout 请求在给定的时间内无法完成。客户端仅在为请求指定超时(Timeout)参数时会得到该响应。 505 HTTP Version not supported 服务器不支持请求的HTTP协议的版本,无法完成处理。 父主题: 附录
  • Token认证 Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。 Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。 Token可通过调用获取用户Token接口获取,调用本服务API需要project级别的Token,即调用获取用户Token接口时,请求body中auth.scope的取值需要选择project,如下所示。 { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "id": "xxxxxxxxxxxxxxxxxx" } } } } 获取Token后,再调用其他接口时(以数据开发组件的“查询连接列表”接口为例),您需要在请求消息头中添加“X-Auth-Token”,其值即为Token。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token: ABCDEFJ....”加到请求消息头即可,如下所示。 GET https://iam.cn-north-4.myhuaweicloud.com/v1/{project_id}/connections Content-Type: application/json X-Auth-Token: ABCDEFJ....
  • 参数说明 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.md5FileSuffix 否 String 校验CDM抽取的文件,是否与源文件一致。
共100000条