华为云用户手册

  • 连接样例 { "links": [ { "link-config-values": { "configs": [ { "inputs": [ { "name": "linkConfig.hadoopType", "value": " FusionInsight HD" }, { "name": "linkConfig.host", "value": "10.120.205.143" }, { "name": "linkConfig.casPort", "value": "20009" }, { "name": "linkConfig.port", "value": "28443" }, { "name": "linkConfig.authType", "value": "KERBEROS" }, { "name": "linkConfig.user", "value": "admin" }, { "name": "linkConfig.password", "value": "Add password here" }, { "name": "linkConfig.runMode", "value": "STANDALONE" } ], "name": "linkConfig" } ] }, "name": "hdfslink", "connector-name": "hdfs-connector" } ]}
  • 连接参数 参数 是否必选 类型 说明 linkConfig.hadoopType 是 枚举 Hadoop类型: MRS :表示连接MRS的HDFS。 FusionInsight HD:表示连接FusionInsight HD的HDFS。 Apache Hadoop:表示连接开源Apache Hadoop的HDFS。 linkConfig.uri 否 String 连接Apache Hadoop时的Namenode URI地址,格式为“ip:port”。 linkConfig.host 否 String 连接MRS或FusionInsight HD时,需要配置Manager平台的IP地址。 linkConfig.port 否 String 连接FusionInsight HD时,需要配置Manager平台的端口。 linkConfig.casPort 否 String 连接FusionInsight HD时,需要配置与FusionInsight HD对接的CAS Server的端口。 linkConfig.user 否 String 登录Manager平台的用户名,使用集群配置时不用配置 linkConfig.password 否 String 登录Manager平台的密码,使用集群配置时不用配置 linkConfig.authType 否 枚举 认证类型,分为以下两种: Simple:非安全模式选择Simple鉴权。 Kerberos:安全模式选择Kerberos鉴权。 linkConfig.principal 否 String Kerveros认证所需的Principal,您也可以联系管理员获取此帐号。使用集群配置前需在集群配置管理中配置此参数。 linkConfig.keytab 否 FileContent Kerveros认证所需的keytab文件的本地绝对路径,您也可以联系管理员获取此文件。使用集群配置前需在集群配置管理中配置此参数。 linkConfig.runMode 否 枚举 选择HDFS连接的运行模式: EMBEDDED:连接实例与 CDM 运行在一起,该模式性能较好。 STANDALONE:连接实例运行在独立进程。如果CDM需要对接多个Hadoop数据源(MRS、Hadoop或CloudTable),并且既有KERBEROS认证模式又有SIMPLE认证模式,只能使用STANDALONE模式。 选择STANDALONE模式时,CDM支持在多个MRS集群的HDFS之间迁移数据。 Agent:连接实例运行在Agent上。 若不使用AGENT运行模式,且在一个CDM中同时连接两个及以上开启Kerberos认证且realm相同的集群,只能使用EMBEDDED运行模式连接其中一个集群,其余需使用STANDALONE。 linkConfig.properties 否 Map 属性配置,可以添加客户端的配置属性,所添加的每个属性需配置属性名称和值
  • 连接参数 参数 是否必选 类型 说明 linkConfig.storageType 是 String 对象存储的类型。 linkConfig.server 是 String OBS服务器的终端节点(Endpoint)。 linkConfig.port 是 String 数据传输协议端口,https是443,http是80。 linkConfig.accessKey 是 String 访问标识(AK)。 linkConfig.securityKey 是 String 密钥(SK)。
  • 连接样例 { "links": [ { "link-config-values": { "configs": [ { "inputs": [ { "name": "linkConfig.hbaseType", "value": "CloudTable" }, { "name": "linkConfig.zookeeperQuorum", "value": "cloudtable-pass-zk2-bae54VGN.cloudtable.com:2181,cloudtable-pass-zk1-Fu828so2.cloudtable.com:2181" }, { "name": "linkConfig.iamAuth", "value": "true" }, { "name": "linkConfig.cloudtableUser", "value": "zane" }, { "name": "linkConfig.accessKey", "value": "GRC2WR0IxxxxxxxYLWU2" }, { "name": "linkConfig.securityKey", "value": "Add password here" }, { "name": "linkConfig.runMode", "value": "EMBEDDED" } ], "name": "linkConfig" } ] }, "name": "cloudtablelink", "connector-name": "hbase-connector" } ]}
  • 连接参数 参数 是否必选 类型 说明 linkConfig.hbaseType 是 枚举 HBase类型: CloudTable:表示连接CloudTable服务。 MRS:表示连接MRS。 FusionInsight HD:表示连接FusionInsight HD。 Apache Hadoop:表示连接开源Apache Hadoop。 linkConfig.zookeeperQuorum 是 String 连接“CloudTable”时必选,表示CloudTable的ZooKeeper链接地址。 linkConfig.iamAuth 是 Boolean 当选择 IAM 统一身份认证时,需要输入用户名、AK和SK。 linkConfig.runMode 是 枚举 选择HBase连接的运行模式: EMBEDDED:连接实例与CDM运行在一起,该模式性能较好。 STANDALONE:连接实例运行在独立进程。如果CDM需要对接多个Hadoop数据源(MRS、Hadoop或CloudTable),并且既有KERBEROS认证模式又有SIMPLE认证模式,只能使用STANDALONE模式。 linkConfig.cloudtableUser 是 String 登录CloudTable集群的用户名。 linkConfig.accessKey 是 String 登录CloudTable集群的访问标识。 linkConfig.securityKey 是 String 登录CloudTable集群的密钥。
  • 连接样例 { "links": [ { "link-config-values": { "configs": [ { "inputs": [ { "name": "linkConfig.storageType", "value": "OBS" }, { "name": "linkConfig.server", "value": "10.121.16.183" }, { "name": "linkConfig.port", "value": "443" }, { "name":"linkConfig.accessKey", "value": "RSO6TTEZMJ6TTFBBAACE" }, { "name":"linkConfig.securityKey", "value":"Add password here" } ], "name": "linkConfig" } ] }, "name": "obs_link", "connector-name": "obs-connector" } ]}
  • 响应示例 成功响应 HTTP状态码 200 { "total":1, "resources":[ { "id":"b384b9e9ab9b4ee8994c8633aabc9505", "name":"test", "type":"jar", "location":"obs://00000000dlf-test/hadoop-mapreduce-examples-2.4.1.jar", "dependFiles":[ "obs://00000000dlf-test/depend1.jar", "obs://00000000dlf-test/depend2.jar" ], "desc":"test", "directory":"/resource" } ]} 失败响应 HTTP状态码 400 { "error_code":"DLF.3051", "error_msg":"The request parameter is invalid."}
  • 请求示例 POST /v1/b384b9e9ab9b4ee8994c8633aabc9505/connections/import{ "path":"obs://00zyx/2019-07-02/DLF_All_DataConnections.zip", "sameNamePolicy":"OVERWRITE", "params":[ { "name":"DWS", "type":"DWS", "params":{ "clusterName":"cluster1" } }, { "name":"hive", "type":"HIVE", "params":{ "clusterName":"mrs_ymcc", "connectionMethod":"agent", "userName":"admin", "agentName":"cdm-donotdelete", "kmsKey":"KMS-42ab" } } ]}
  • 响应示例 成功响应 {"name": "test","type": "jar","location": "obs://dlf-test/hadoop-mapreduce-examples-2.4.1.jar","dependFiles": ["obs://dlf-test/depend1.jar","obs://dlf-test/depend2.jar"],"desc": "test","directory":"/resource"} 失败响应 HTTP状态码 400 { "error_code":"DLF.6241", "error_msg":"The resource information does not exist."}
  • 请求示例 修改资源名称为test的资源内容,资源类型为jar,资源文件所在OBS路径为obs://dlf-test/hadoop-mapreduce-examples-2.4.1.jar,资源主Jar包所依赖的JAR包、properties文件为obs://dlf-test/depend1.jar","obs://dlf-test/depend2.jar,描述描述为test,资源所在目录为/resource。 PUT /v1/b384b9e9ab9b4ee8994c8633aabc9505/resources/3624d1c3-5df5-4f20-9af9-98eadad6c5f9{"name": "test","type": "jar","location": "obs://dlf-test/hadoop-mapreduce-examples-2.4.1.jar","dependFiles": ["obs://dlf-test/depend1.jar","obs://dlf-test/depend2.jar"],"desc": "test","directory":"/resource"}
  • 请求示例 创建资源名称为test的资源,资源类型为jar,资源文件所在OBS路径为obs://dlf-test/hadoop-mapreduce-examples-2.4.1.jar,资源主Jar包所依赖的JAR包、properties文件为obs://dlf-test/depend1.jar","obs://dlf-test/depend2.jar,描述描述为test,资源所在目录为/resource。 POST /v1/b384b9e9ab9b4ee8994c8633aabc9505/resources{"name": "test","type": "jar","location": "obs://dlf-test/hadoop-mapreduce-examples-2.4.1.jar","dependFiles": ["obs://dlf-test/depend1.jar","obs://dlf-test/depend2.jar"],"desc": "test","directory":"/resource"}
  • 响应示例 成功响应 HTTP状态码 200 {"results": [{"message": "", "duration":0.5,"rowCount": 1,"rows": [[913460.0,765.0,"8/31/2015 23:26","Harry Bridges Plaza (Ferry Building)",50.0,"8/31/2015 23:39","San Francisco Caltrain (Townsend at 4th)",70.0,"288","Subscriber","2139"]],"schema": [{"TripID": "int"},{"Duration": "int"},{"StartDate": "string"},{"StartStation": "string"},{"StartTerminal": "int"},{"EndDate": "string"},{"EndStation": "string"},{"EndTerminal": "int"},{"Bike": "string"},{"SubscriberType": "string"},{"ZipCode": "string"}]}],"status": "FINISHED"} 失败响应 HTTP状态码 400 { "error_code":"DLF.6201", "error_msg":"The script does not exist."}
  • 响应示例 成功响应 { "endTime": 1544777083000, "id": "008aae2e67abe2ff0167abe3a28f0000", "lastUpdate": 1544777083000, "name": "从路径[obs://aaaaa/job_batch.zip]导入作业。", "startTime": 1544777081000, "status": "SUC CES SFUL", "subtasks": [ { "id": "008aae2e67abe2ff0167abe3a7e70002", "lastUpdate": 1544777083000, "name": "导入作业[job_batch]。", "status": "SUCCESSFUL" } ]} 失败响应 HTTP状态码 400 { "error_code":"DLF.0810", "error_msg":"Task does not exist"}
  • URI URI格式 GET /v1/{project_id}/jobs/instances/detail?jobName={jobName}&minPlanTime={minPlanTime}&maxPlanTime={maxPlanTime}&limit={limit}&offset={offset}&status={status}&preciseQuery={preciseQuery} 参数说明 表1 URI参数说明 参数名 是否必选 参数类型 说明 project_id 是 String 项目编号,获取方法请参见项目ID和帐号ID。 jobName 否 String 作业名称。 如果要查询指定批处理作业的实例列表,jobName就是批处理作业名称; 如果要查询实时作业下某个节点关联的子作业,jobName格式为[实时作业名称]_[节点名称]。 minPlanTime 否 Long 返回计划执行时间大于minPlanTime的作业实例,单位为毫秒ms。 maxPlanTime 否 Long 返回计划执行时间小于maxPlanTime的作业实例,单位为毫秒ms。 limit 否 int 分页返回结果,指定每页最大记录数。 范围[1,1000] 默认值:10 offset 否 int 分页的起始页,默认值为0。取值范围大于等于0。 status 否 String 实例运行状态: waiting: 等待运行 running:运行中 success: 运行成功 fail: 运行失败 running-exception: 运行异常 pause: 暂停 manual-stop: 取消 preciseQuery 否 boolean 支持通过作业名进行精确查询。
  • 响应示例 成功响应 {"total": 2,"instances": [{"endTime": 1551671598000,"executeTime": 0.3,"instanceId": 34765, "jobName": "job_batch", "jobInstanceName": "job_batch","planTime": 1551671580000,"startTime": 1551671580000,"status": "success","submitTime": 1550910278706},{"endTime": 1551671538000,"executeTime": 0.3,"instanceId": 34764, "jobName": "job_batch", "jobInstanceName": "job_batch","planTime": 1551671520000,"startTime": 1551671521000,"status": "success","submitTime": 1550910278706}]}
  • 响应参数 表3 参数说明 参数名 是否必选 参数类型 说明 name 是 String 解决方案名称 nodes 否 列表数据结构 节点状态列表 status 否 String 作业状态: STARTING : 启动中 NORMAL:正常 EXCEPTION :异常 STOPPING :停止中 STOPPED:停止 startTime 是 Date 启动时间 endTime 否 Date 停止时间 lastUpdateTime 否 Date 状态最后更新时间 表4 nodes字段数据结构说明 参数名 是否必选 参数类型 说明 name 是 String 节点名称 status 否 String 节点状态: STARTING :启动中 NORMAL:正常 EXCEPTION :异常 STOPPING : 停止中 STOPPED:停止 logPath 否 String 节点运行日志路径 type 是 String 节点类型: Hive SQL :执行Hive SQL脚本 Spark SQL :执行Spark SQL脚本 DWS SQL : 执行DWS SQL脚本 DLI SQL : 执行DLI SQL脚本 Shell:执行Shell SQL脚本 CDM Job:执行CDM作业 DISTransferTask :创建DIS转储任务 CS Job :创建CloudStream作业,并启动作业 CloudTableManager节点 :CloudTable表管理,参考创建和删除表。 OBSManager: OBS路径管理,包括创建和删除路径 RESTAPI : REST API请求 SMN : 发送短信或邮件 MRS Spark :执行MRS服务的Spark作业 MapReduce :执行MRS服务的MapReduce作业
  • 响应示例 成功响应 { "lastUpdateTime": 1682582558000, "name": "job_sms", "nodes": [ { "logPath": "obs://dlf-test-log/job_sms/2023-04-27_16_03_31.000/MRS_Flink_Job_8635/MRS_Flink_Job_8635.job", "name": "MRS_Flink_Job_8635", "status": "NORMAL", "type": "MRS Flink Job" } ], "startTime": 1682582619000, "status": "NORMAL"} 失败响应 HTTP状态码 400 { "error_code":"DLF.0100", "error_msg":"The job does not exists."}
  • 请求示例 单次执行作业myJob。作业中的参数为aaa,参数值为111,作业中的参数为bbb,参数值为222。 POST /v1/b384b9e9ab9b4ee8994c8633aabc9505/jobs/myJob/run-immediate{ "jobParams":[ { "name":"aaa", "value":"111" }, { "name":"bbb", "value":"222" } ]}
  • 请求示例 从OBS路径上导入作业,如果有重名作业、脚本,则覆盖。所导入的作业定义文件在OBS上的路径为obs://aaaaa/job_batch.zip,指定的作业参数的作业名称为job_batch。 POST /v1/b384b9e9ab9b4ee8994c8633aabc9505/jobs/import{ "path": "obs://aaaaa/job_batch.zip", "jobsParam": [ { "name": "job_batch" } ]}
  • 响应参数 响应消息的Content-Type是application/octet-stream,需要解析转化为一个文件,可以参考解析响应消息体中的流样例代码。响应是一个压缩文件,文件名称格式DLF_{job_name}.zip,压缩文件里面的文件目录如下: jobs├─{job_name}.jobscripts├─{script_name}.scriptresources├─{resource_name}.resource 上述文件名中的参数说明如表4所示。 表4 参数说明 参数名 是否必选 参数类型 说明 job_name 是 String 作业名称 script_name 否 String 作业所依赖的脚本名称。 resource_name 否 String 作业所依赖的资源名称。 {job_name}.job文件内容 文件中的参数与创建作业接口的请求参数一样,请参考创建作业。 {script_name}.script文件内容 文件中的参数与创建资源接口的请求参数一样,请参考创建脚本。
  • 响应示例 成功响应 HTTP状态码 200 导出文件名为DLF_myJob.zip,解压后文件结构如下: jobs├─myJob.jobscripts├─CS_PROCESS_TRIP.script├─TRIP_RAW_STANDARD.script 失败响应 HTTP状态码 400 { "error_code":"DLF.0100", "error_msg":"The job does not exists."}
  • 响应示例 成功响应 { "jobs":[ { "name":"test", "path":"/test", "params":{ "ddd":"dddd" } }, { "name":"test1", "path":"/test", "params":{ "ddd":"dddd" } } ], "scripts":[ { "name":"script1", "path":"/path1" }, { "name":"script2", "path":"/path1" } ]} 失败响应 HTTP状态码 400 { "error_code":"DLF.0815", "error_msg":"Fail to read OBS file."}
  • URI URI格式 POST /v1/{project_id}/jobs/{job_name}/instances/{instance_id}/restart 参数说明 表1 URI参数说明 参数名 是否必选 参数类型 说明 project_id 是 String 项目编号,获取方法请参见项目ID和帐号ID。 job_name 是 String 作业名称 instance_id 是 Long 作业实例ID, 获取方法请参见查询作业实例列表
  • URI URI格式 POST /v1/{project_id}/jobs/{job_name}/instances/{instance_id}/stop 参数说明 表1 URI参数说明 参数名 是否必选 参数类型 说明 project_id 是 String 项目编号,获取方法请参见项目ID和帐号ID。 job_name 是 String 作业名称 instance_id 是 Long 作业实例ID, 获取方法请参见查询作业实例列表
  • 请求示例 创建一个连接。 POST /v1/b384b9e9ab9b4ee8994c8633aabc9505/connections{ "name":"connection1", "type":"DWS", "config":{ "clusterName":"test", "userName":"dbadmin", "password":"*********", "kmsKey":"cdm-dlf", "agentName":"cdm-donotdelete", "sslEnable":false }}
  • 请求示例 执行脚本名称为dws_sql的脚本,脚本中参数tableVar的值为citys,脚本中参数time的值为2019-07-25。 POST /v1/b384b9e9ab9b4ee8994c8633aabc9505/scripts/dws_sql/execute{ "params": { "tableVar": "citys", "time": "2019-07-25" }}
  • 响应示例 状态码: 200 Success,返回data数据是 DerivativeIndexVO 详情 { "data" : { "value" : { "id" : "873265784540004352", "name_en" : "sum_total_amount", "name_ch" : "总车费(费率代码)", "description" : "", "create_by" : "abc", "data_type" : "DOUBLE", "l1_id" : "873232498044411904", "l2_id" : "873232716601204736", "l3_id" : "873233519286059008", "status" : "PUBLISHED", "atomic_index_id" : "873264909264257024", "time_condition_id" : null, "time_field_id" : null, "time_field_name" : null, "common_conditions" : [ ], "dimension_groups" : [ { "group_id" : "873252544997130240", "role" : null, "dimension_id" : "873252544997130240", "hierarchies_id" : null, "ordinal" : 1, "group_name" : "费率代码", "group_code" : "dim_rate_code", "biz_type" : "DIMENSION", "hierarchies" : null, "l1" : null, "l2" : null, "l3" : null, "l1_id" : null, "l2_id" : null, "l3_id" : null, "dw_type" : null, "id" : "873265784602918912" } ], "monitor" : null, "atomic_index" : { "id" : "873264909264257024", "name_en" : "sum_total_amount", "name_ch" : "总车费", "description" : "", "create_by" : null, "cal_exp" : "sum(${873264563087376397})", "cal_fn_ids" : null, "l1_id" : null, "l2_id" : null, "l3_id" : null, "table_id" : "873264563070599168", "tb_name" : null, "dw_type" : null, "field_ids" : [ "873264563087376397" ], "field_names" : null, "status" : "DRAFT", "biz_type" : "FACT_ LOG IC_TABLE", "create_time" : "2022-08-30T21:28:45.454+08:00", "update_time" : "2022-08-30T21:28:45.454+08:00", "l1" : null, "l2" : null, "l3" : null, "approval_info" : null, "new_biz" : null }, "time_condition_name" : null, "create_time" : "2021-08-06T18:06:28+08:00", "update_time" : "2021-08-06T18:06:27+08:00", "l1" : "城市交通", "l2" : "行程记录", "l3" : "记录统计", "summary_table_id" : null, "approval_info" : { "id" : "873265785332727808", "tenant_id" : null, "name_ch" : null, "name_en" : null, "biz_id" : "873265784540004352", "biz_type" : null, "biz_info" : null, "biz_info_obj" : null, "biz_version" : 0, "biz_status" : "PUBLISHED", "approval_status" : "APPROVED", "approval_type" : null, "submit_time" : "2021-08-06T18:06:28+08:00", "create_by" : null, "l1" : null, "l2" : null, "l3" : null, "approval_time" : "2021-08-06T18:06:27+08:00", "approver" : "abc", "email" : null, "msg" : "Fast Approval OK.", "directory_path" : null }, "new_biz" : null } }}
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 [数组元素] Array of ApigRoleVo objects 获取DataArtsStudio工作空间角色列表信息 表5 ApigRoleVo 参数 参数类型 描述 role_id String 角色id 最小长度:1 最大长度:128 role_code String 角色编码 最小长度:1 最大长度:128 role_name String 角色名称 最小长度:1 最大长度:128 description String 描述 最小长度:1 最大长度:1024 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_msg String 错误信息 最小长度:1 最大长度:1024 error_code String dayu异常码 最小长度:1 最大长度:1024 状态码: 500 表7 响应Body参数 参数 参数类型 描述 error_msg String 错误信息 最小长度:1 最大长度:1024 error_code String dayu异常码 最小长度:1 最大长度:1024
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 count Integer 当前分页返回记录数 最小值:1 最大值:50 max_records Integer 返回记录总数,一个工作空间最多只能创建50条数据连接 最小值:50 最大值:50 data_connection_lists Array of ApigDataSourceView objects 返回数据连接列表 表5 ApigDataSourceView 参数 参数类型 描述 dw_name String 数据连接名称 最小长度:1 最大长度:128 dw_type String 数据连接类型 最小长度:1 最大长度:128 create_user String 数据连接创建者 最小长度:1 最大长度:128 create_time Number 数据连接创建时间,时间戳 最小值:0 最大值:9223372036854775807 agent_id String 代理id 最小长度:1 最大长度:128 agent_name String 代理名称 最小长度:1 最大长度:128 dw_id String 数据连接id 最小长度:1 最大长度:128 qualified_name String 数据连接限定名称 最小长度:1 最大长度:128 description String 数据连接描述 最小长度:1 最大长度:4096 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_msg String 错误信息 最小长度:1 最大长度:1024 error_code String dayu异常码 最小长度:1 最大长度:1024 状态码: 500 表7 响应Body参数 参数 参数类型 描述 error_msg String 错误信息 最小长度:1 最大长度:1024 error_code String dayu异常码 最小长度:1 最大长度:1024
  • URI GET /v1/{project_id}/data-connections 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID 表2 Query参数 参数 是否必选 参数类型 描述 name 否 String 数据连接名称 type 否 String 数据连接类型,有HIVE,MYSQL,ORALCLE,DWS,HBASE等。 最小长度:0 最大长度:32 limit 否 String 数据条数限制 最小长度:1 最大长度:16 offset 否 String 偏移量 最小长度:1 最大长度:16
共100000条