通过API方式连接Flink端点并提交作业
在AI DataLake控制台上创建Flink端点后,即可向该端点提交Flink作业,利用端点的计算能力处理数据。目前支持通过API方式提交Flink SQL和Flink JAR。
前提条件
- 已获取工作空间ID 。
登录AI DataLake管理控制台,在“工作空间管理”页面找到目标工作空间ID。
- 已获取Flink端点名称(endpoint_name)。
登录AI DataLake管理控制台,在“引擎端点”下的“流处理引擎Flink”页面找到目标Flink端点名称。
- 已根据作业类型编写对应的作业文件,并将编写好的文件上传至OBS桶,记录其OBS路径。
涉及API
提交Flink SQL作业
POST /v2/workspaces/{workspace_id}/flink-jobs
{
"name" : "test-flink-job",
"description" : "测试Flink SQL作业",
"endpoint_name" : "Flink-endpoint-test",
"job_agency" : "test-agencys",
"execution_mode" : "STREAMING",
"job_config" : {
"type" : "FLINK_SQL_JOB",
"sql_script_file" : "obs://bucket/path/to/script.sql",
"dependency_jars" : [ "obs://bucket/path/to/dep1.jar" ]
},
"image_config": {
"image_id": "dd877a59-5cbd-44c5-b8a7-dc464cca****",
"image_version_id": "01ae8ee6-af8a-48a8-895b-8d4a70bf****"
},
"flink_config" : {
"taskmanager.numberOfTaskSlots" : "1"
},
"autoscaling_policy" : {
"enabled" : true,
"vertex_max_parallelism" : 1000,
"quota_cpu" : 4000,
"quota_memory" : 8192,
"custom_config" : {
"job.autoscaler.target.utilization" : "0.6",
"job.autoscaler.target.catch-up.duration" : "10 min"
}
},
"resource_config" : {
"parallelism" : 1,
"jobmanager_resource_spec" : {
"cpu" : 1000,
"memory" : 4096
},
"taskmanager_resource_spec" : {
"cpu" : 1000,
"memory" : 4096
}
}
} | 参数 | 说明 | 示例 |
|---|---|---|
| workspace_id | 工作空间ID。 登录AI DataLake管理控制台,在“工作空间管理”页面找到目标工作空间ID。 | 980a81cf-8**1-4**6-b**9-c80******ed1 |
| job_agency | 用户自定义委托名称,用于授权作业访问OBS等外部资源。 | test-agencys |
| endpoint_name | 端点名称。 登录AI DataLake管理控制台,在“引擎端点”下的“流处理引擎Flink”页面找到目标Flink端点名称。 | Flink-endpoint-test |
| type | Flink作业类型。 | FLINK_SQL_JOB |
| sql_script_file | SQL脚本所在的OBS文件路径。 | obs://bucket/path/to/script.sql |
| dependency_jars | SQL作业依赖的JAR包OBS路径列表。 | obs://bucket/path/to/dep1.jar |
| image_id | 镜像ID,请通过调用查看自定义镜像列表接口查询获取。 | dd877a59-5cbd-44c5-b8a7-dc464cca**** |
| image_version_id | 说明: 如果端点的资源使用模式为混合模式和按需弹性,且当前所选镜像版本已创建镜像快照,选择该版本镜像时会自动关联对应的镜像快照,端点启动时自动使用快照创建镜像资源,无需额外操作。创建镜像快照的具体操作,请参见镜像加速。 镜像版本。查看镜像版本的具体操作如下:
| 20e48735-f273-413c-a0f5-4cd4544f**** |
提交Flink JAR作业
POST /v2/workspaces/{workspace_id}/flink-jobs
{
"name" : "test-flink-jar-job",
"description" : "测试Flink JAR作业",
"endpoint_name" : "Flink-endpoint-test",
"job_agency" : "test-agencys",
"execution_mode" : "STREAMING",
"job_config" : {
"type" : "FLINK_JAR_JOB",
"main_jar" : "obs://bucket/path/jars/WindowJoin.jar",
"main_class" : "org.apache.flink.streaming.examples.join.WindowJoin",
"main_args" : [ "--input", "obs://bucket/input/", "--output", "obs://bucket/output/" ],
"dependency_jars" : [ "obs://bucket/path/to/dep1.jar" ],
"dependency_files" : [ "obs://bucket/path/to/config.csv" ]
},
"image_config": {
"image_id": "dd877a59-5cbd-44c5-b8a7-dc464cca****",
"image_version_id": "01ae8ee6-af8a-48a8-895b-8d4a70bf****"
},
"resource_config" : {
"parallelism" : 1,
"jobmanager_resource_spec" : {
"cpu" : 1000,
"memory" : 4096
},
"taskmanager_resource_spec" : {
"cpu" : 1000,
"memory" : 4096
}
}
} | 参数 | 说明 | 示例 |
|---|---|---|
| workspace_id | 工作空间ID。 登录AI DataLake管理控制台,在“工作空间管理”页面找到目标工作空间ID。 | 980a81cf-8**1-4**6-b**9-c80******ed1 |
| job_agency | 用户自定义委托名称,用于授权作业访问OBS等外部资源。 | test-agencys |
| endpoint_name | 端点名称。 登录AI DataLake管理控制台,在“引擎端点”下的“流处理引擎Flink”页面找到目标Flink端点名称。 | Flink-endpoint-test |
| type | Flink作业类型。 | FLINK_JAR_JOB |
| main_jar | JAR作业主类所在JAR包的OBS路径,用于指定作业的入口JAR包。 | obs://bucket/path/jars/WindowJoin.jar |
| main_class | JAR作业入口类全限定名,用于指定作业的入口类。 | org.apache.flink.streaming.examples.join.WindowJoin |
| main_args | JAR作业入口类参数。 | "--input", "obs://bucket/input/", "--output", "obs://bucket/output/" |
| dependency_jars | JAR作业依赖JAR包的OBS路径列表。 | obs://bucket/path/to/dep1.jar |
| dependency_files | JAR作业依赖文件的OBS路径,用于指定作业运行所需的依赖文件。 | obs://bucket/path/to/config.csv |
| image_id | 镜像ID,请通过调用查看自定义镜像列表接口查询获取。 | dd877a59-5cbd-44c5-b8a7-dc464cca**** |
| image_version_id | 说明: 如果端点的资源使用模式为混合模式和按需弹性,且当前所选镜像版本已创建镜像快照,选择该版本镜像时会自动关联对应的镜像快照,端点启动时自动使用快照创建镜像资源,无需额外操作。创建镜像快照的具体操作,请参见镜像加速。 镜像版本。查看镜像版本的具体操作如下:
| 20e48735-f273-413c-a0f5-4cd4544f**** |