云服务器内容精选

  • 响应消息 表7 响应参数说明 参数名称 是否必选 参数类型 说明 is_success 否 String 执行请求是否成功。“true”表示请求执行成功。 message 否 String 消息内容。 job 否 Object 作业状态信息。具体请参考表8。 表8 job参数说明 参数名称 是否必选 参数类型 说明 job_id 是 Long 作业ID。 status_name 否 String 当前状态名称。 status_desc 否 String 当前状态描述。包含异常状态原因及建议。
  • 请求示例 新建名为test的Flink Jar作业,并设置作业执行在testQueue上,设置作业运行所使用的CU数、开启作业日志。 { "name": "test", "desc": "job for test", "queue_name": "testQueue", "manager_cu_number": 1, "cu_number": 2, "parallel_number": 1, "tm_cus": 1, "tm_slot_num": 1, "log_enabled": true, "obs_bucket": "bucketName", "smn_topic": "topic", "main_class": "org.apache.flink.examples.streaming.JavaQueueStream", "restart_when_exception": false, "entrypoint": "javaQueueStream.jar", "entrypoint_args":"-windowSize 2000 -rate 3", "dependency_jars": [ "myGroup/test.jar", "myGroup/test1.jar" ], "execution_agency_urn": "myAgencyName", "dependency_files": [ "myGroup/test.csv", "myGroup/test1.csv" ] }
  • 请求消息 表2 参数说明 参数名称 是否必选 参数类型 说明 name 是 String 作业名称。长度限制:1-57个字符。 desc 否 String 作业描述。长度限制:0-512个字符。 queue_name 否 String 队列名称。长度限制:0-128个字符。 cu_number 否 Integer 用户为作业选择的CU数量。 manager_cu_number 否 Integer 用户为作业选择的管理节点CU数量,对应为flink jobmanager数量。默认值为“1”。 parallel_number 否 Integer 用户为作业选择的并发量。 log_enabled 否 Boolean 是否开启作业日志。 开启:true 关闭:false 默认:false obs_bucket 否 String 当“log_enabled”为“true”时, 用户授权保存作业日志的OBS桶名。 smn_topic 否 String 当作业异常时,向该 SMN 主题推送告警信息。 main_class 否 String 作业入口类。 entrypoint_args 否 String 作业入口类参数,多个参数之间空格分隔。 restart_when_exception 否 Boolean 是否开启异常重启功能,默认值为“false”。 entrypoint 否 String 用户已上传到OBS的程序包名,用户自定义作业主类所在的jar包。 Flink1.15推荐配置OBS中的程序包,不推荐使用 DLI 程序包。Flink1.15以上版本将不再支持读取DLI程序包。 示例:obs://bucket_name/test.jar dependency_jars 否 Array of Strings 用户已上传到OBS的程序包名,用户自定义作业的其他依赖包。 Flink1.15推荐配置OBS中的程序包,不推荐使用DLI程序包。Flink1.15以上版本将不再支持读取DLI程序包。 示例“obs://bucket_name/test1.jar, obs://bucket_name/test2.jar”。 dependency_files 否 Array of Strings 用户已上传到OBS的资源包名,用户自定义作业的依赖文件。 Flink1.15推荐配置OBS中的程序包,不推荐使用DLI程序包。Flink1.15以上版本将不再支持读取DLI程序包。 示例:"[obs://bucket_name/file1, obs://bucket_name/file2]"。 通过在应用程序中添加以下内容可访问对应的依赖文件。其中,“fileName”为需要访问的文件名,“ClassName”为需要访问该文件的类名。 ClassName.class.getClassLoader().getResource("userData/fileName") tm_cus 否 Integer 每个taskmanager的CU数,默认值为“1”。 tm_slot_num 否 Integer 每个taskmanager的slot数,默认值为“(parallel_number*tm_cus)/(cu_number-manager_cu_number)”。 feature 否 String 作业特性。表示用户作业使用的Flink镜像类型。 basic:表示使用DLI提供的基础Flink镜像。 custom:表示使用用户自定义的Flink镜像。 flink_version 否 String Flink版本。当用户设置“feature”为“basic”时,该参数生效。用户可通过与“feature”参数配合使用,指定作业运行使用的DLI基础Flink镜像的版本。 execution_agency_urn 否 String 授权给DLI的委托名。Flink1.15版本时支持配置该参数。 image 否 String 自定义镜像。格式为:组织名/镜像名:镜像版本。 当用户设置“feature”为“custom”时,该参数生效。用户可通过与“feature”参数配合使用,指定作业运行使用自定义的Flink镜像。关于如何使用自定义镜像,请参考《 数据湖探索 用户指南》。 resume_checkpoint 否 Boolean 异常重启是否从checkpoint恢复。 resume_max_num 否 Integer 异常重试最大次数,单位:次/小时。取值范围:-1或大于0。默认值为“-1”,表示无限次数。 checkpoint_path 否 String 用户Jar中checkpoint的储存地址,不同作业路径需要保持不同。 tags 否 Array of Objects Flink jar作业的标签。具体请参考表3。 runtime_config 否 String Flink作业运行时自定义优化参数。 resource_config_version 否 String 资源配置版本。可选值 "v1" ,"v2".默认为“v1”。 v2版本对比于v1模版不支持设置CU数量,支持直接设置Job Manager Memory和Task Manager Memory。 v1:适用于Flink 1.12、Flink 1.13、Flink 1.15 v2:适用于Flink 1.13、Flink 1.15、Flink 1.17 优先推荐使用V2版本的参数设置。 resource_config 否 Object Flink 作业的资源配置。 具体参数说明请参考表4。 资源配置版本 为 "v2"时,配置生效,资源配置版本 为 "v1"时,配置无效。 表3 tags参数 参数名称 是否必选 参数类型 说明 key 是 String 标签的键。 说明: 标签的键的最大长度为128个字符,标签的键可以包含任意语种字母、数字、空格和_ . : =+-@ ,但首尾不能含有空格,不能以_sys_开头。 value 是 String 标签的值。 说明: 标签值的最大长度为255个字符,标签的值可以包含任意语种字母、数字、空格和_ . : =+-@ ,但首尾不能含有空格。 表4 resource_config参数说明 参数名称 是否必选 参数类型 说明 max_slot 否 integer 该参数用于设置单个TaskManager可以提供的并行任务数量。每个Task Slot可以并行执行一个任务。增加 Task Slots 可以提高 TaskManager 的并行处理能力,但也会增加资源消耗。 Task Slots的数量与TaskManager的CPU数相关联,因为每个CPU可以提供一个Task Slot。 单TM Slot默认值为1。最小并行数不能小于1。 parallel_number 否 integer 作业的并行数,指作业中各个算子的并行执行的子任务的数量,算子的子任务数就是其对应算子的并行度。默认值为“1”。 jobmanager_resource_spec 否 ResourceSpec JobManager资源规格。具体参数说明请参考表5。 taskmanager_resource_spec 否 ResourceSpec TaskManager资源规格。具体参数说明请参考表6。 表5 jobmanager_resource_spec参数说明 参数名称 是否必选 参数类型 说明 cpu 否 double JobManager可以使用的CPU核数,默认值为1.0个CPU核数,最低不得小于0.5个CPU核数 memory 否 string JobManager可以使用的内存,单位MB,GB。默认GB。默认值为4GB,最低不得小于2G。 表6 taskmanager_resource_spec参数说明 参数名称 是否必选 参数类型 说明 cpu 否 double TaskManager可以使用的CPU核数,默认值为1.0个CPU核数,最低不得小于0.5个CPU核数 memory 否 string TaskManager可以使用的内存,单位MB,GB。默认GB。默认值为4GB,最低不得小于2G
  • 响应消息 表3 响应参数说明 参数名称 是否必选 参数类型 说明 is_success 否 Boolean 请求是否成功。 message 否 String 消息内容。 metrics 否 Object 作业列表信息。具体请参考表4。 表4 payload参数说明 参数名称 是否必选 参数类型 说明 jobs 否 Array of Objects 所有作业监控信息。具体请参考表5。 表5 jobs参数说明 参数名称 是否必选 参数类型 说明 job_id 否 Long 作业ID。 metrics 否 Object 作业的所有输入输出监控信息。具体请参考表6。 表6 metrics参数说明 参数名称 是否必选 参数类型 说明 sources 否 Array of Objects 所有输入流。请参见表7。 sinks 否 Array of Objects 所有输出流。请参见表7。 total_read_rate 否 Double 总输入速率。 total_write_rate 否 Double 总输出速率。 表7 source/sinks参数说明 参数名称 是否必选 参数类型 说明 name 否 String 输入流或输出流名称。 records 否 Long 总记录数。 corrupted_records 否 Long 脏数据记录数。
  • 示例 请求样例 { "job_ids": [298765, 298766]} 响应样例 { "is_success": true, "message": "消息内容", "metrics": { "jobs": [ { "job_id": 0, "metrics": { "sources": [ { "name": "Source: KafKa_6070_KAFKA_SOURCE", "records": 0, "corrupted_records": 0 } ], "sinks": [ { "name": "Source: KafKa_6070_KAFKA_SOURCE", "records": 0, "corrupted_records": 0 } ], "total_read_rate": 100, "total_write_rate": 100 } } ] }}
  • 请求示例 生成Flink SQL作业的静态流图,流图的类型为静态流图。 { "job_type": "flink_opensource_sql_job", "graph_type": "job_graph", "sql_body": "create table orders(\r\n name string,\r\n num int\r\n) with (\r\n 'connector' = 'datagen',\r\n 'rows-per-second' = '1', --每秒生成一条数据\r\n 'fields.name.kind' = 'random', --为字段user_id指定random生成器\r\n 'fields.name.length' = '5' --限制user_id长度为3\r\n);\r\n \r\nCREATE TABLE sink_table (\r\n name string,\r\n num int\r\n) WITH (\r\n 'connector' = 'print'\r\n);\r\nINSERT into sink_table SELECT * FROM orders;", "cu_number": 2, "manager_cu_number": 1, "parallel_number": 2, "tm_cus": 1, "tm_slot_num": 0, "operator_config": "", "static_estimator": true, "flink_version": "1.12", "static_estimator_config": "{\"operator_list\":[{\"id\":\"0a448493b4782967b150582570326227\",\"output_rate\":1000},{\"id\":\"bc764cd8ddf7a0cff126f51c16239658\",\"output_rate\":1000}]}"}
  • 响应示例 { "message": "", "is_success": true, "error_code": "", "stream_graph": "{\n \"jid\" : \"44334c4259f6714bddef1ac525364052\",\n \"name\" : \"InternalJob_1715392878428\",\n \"nodes\" : [ {\n \"id\" : \"0a448493b4782967b150582570326227\",\n \"parallelism\" : 1,\n \"operator\" : \"\",\n \"operator_strategy\" : \"\",\n \"description\" : \"Sink: Sink(table=[default_catalog.default_database.sink_table], fields=[name, num])\",\n \"chain_operators_id\" : [ \"0a448493b4782967b150582570326227\" ],\n \"inputs\" : [ {\n \"num\" : 0,\n \"id\" : \"bc764cd8ddf7a0cff126f51c16239658\",\n \"ship_strategy\" : \"FORWARD\",\n \"exchange\" : \"pipelined_bounded\"\n } ],\n \"optimizer_properties\" : {}\n }, {\n \"id\" : \"bc764cd8ddf7a0cff126f51c16239658\",\n \"parallelism\" : 2,\n \"operator\" : \"\",\n \"operator_strategy\" : \"\",\n \"description\" : \"Source: TableSourceScan(table=[[default_catalog, default_database, orders]], fields=[name, num])\",\n \"chain_operators_id\" : [ \"bc764cd8ddf7a0cff126f51c16239658\" ],\n \"optimizer_properties\" : {}\n } ],\n \"operator_list\" : [ {\n \"id\" : \"0a448493b4782967b150582570326227\",\n \"name\" : \"Sink: Sink(table=[default_catalog.default_database.sink_table], fields=[name, num])\",\n \"type\" : \"Sink\",\n \"contents\" : \"Sink(table=[default_catalog.default_database.sink_table], fields=[name, num])\",\n \"parallelism\" : 1,\n \"tags\" : \"[SINK]\",\n \"input_operators_id\" : [ \"bc764cd8ddf7a0cff126f51c16239658\" ]\n }, {\n \"id\" : \"bc764cd8ddf7a0cff126f51c16239658\",\n \"name\" : \"Source: TableSourceScan(table=[[default_catalog, default_database, orders]], fields=[name, num])\",\n \"type\" : \"Source\",\n \"contents\" : \"TableSourceScan(table=[[default_catalog, default_database, orders]], fields=[name, num])\",\n \"parallelism\" : 2,\n \"tags\" : \"[PRO CES S, UDF]\",\n \"input_operators_id\" : [ ]\n } ]\n}"} 为了便于查看返回体信息,我们将stream_graph格式化后如下所示: "jid": "65b6a7b0c1ad95b1722a92b49d2f6eba", "name": "InternalJob_1715392245413", "nodes": [ { "id": "0a448493b4782967b150582570326227", "parallelism": 1, "operator": "", "operator_strategy": "", "description": "Sink: Sink(table=[default_catalog.default_database.sink_table], fields=[name, num])", "chain_operators_id": [ "0a448493b4782967b150582570326227" ], "inputs": [ { "num": 0, "id": "bc764cd8ddf7a0cff126f51c16239658", "ship_strategy": "FORWARD", "exchange": "pipelined_bounded" } ], "optimizer_properties": { } }, { "id": "bc764cd8ddf7a0cff126f51c16239658", "parallelism": 2, "operator": "", "operator_strategy": "", "description": "Source: TableSourceScan(table=[[default_catalog, default_database, orders]], fields=[name, num])", "chain_operators_id": [ "bc764cd8ddf7a0cff126f51c16239658" ], "optimizer_properties": { } } ], "operator_list": [ { "id": "0a448493b4782967b150582570326227", "name": "Sink: Sink(table=[default_catalog.default_database.sink_table], fields=[name, num])", "type": "Sink", "contents": "Sink(table=[default_catalog.default_database.sink_table], fields=[name, num])", "parallelism": 1, "tags": "[SINK]", "input_operators_id": [ "bc764cd8ddf7a0cff126f51c16239658" ] }, { "id": "bc764cd8ddf7a0cff126f51c16239658", "name": "Source: TableSourceScan(table=[[default_catalog, default_database, orders]], fields=[name, num])", "type": "Source", "contents": "TableSourceScan(table=[[default_catalog, default_database, orders]], fields=[name, num])", "parallelism": 2, "tags": "[PROCESS, UDF]", "input_operators_id": [ ] } ]}
  • 请求消息 表2 请求参数说明 参数名称 是否必选 参数类型 说明 sql_body 是 String SQL。 cu_number 否 Integer 是在作业编辑页面配置的作业占用资源总CU数,需配置与实际占用资源一致,作业实际占用资源根据算子并行数按需申请。 cu_number = 管理单元 + (算子总并行数 / 单TM Slot数) * 单TM所占CU数 manager_cu_number 否 Integer 管理单元CU数。 parallel_number 否 Integer 最大并行度。 并行数为作业每个算子的并行数,适度增加并行数会提高作业整体算力,但也须考虑线程增多带来的切换开销,上限是计算单元CU数的4倍,最佳实践为计算单元CU数的1-2倍。 tm_cus 否 Integer 单个taskManagerCU数量。 tm_slot_num 否 Integer 单个taskManager Slot数量。 operator_config 否 String 算子的配置。 可先行调用该接口获取算子ID,即响应消息中stream_graph包含的operator_list中的id即为算子ID。 static_estimator 否 Boolean 是否静态资源预估。 配置为true时,即根据算子ID和流量预估作业消耗资源。 static_estimator_config 否 String 每个算子的流量/命中率配置,json格式的字符串。 当static_estimator为true时需要配置该参数,配置时传入算子ID和算子流量配置。 可先行调用该接口获取算子ID,即响应消息中stream_graph包含的operator_list中的id即为算子ID。 算子流量根据用户业务实际情况预估。 job_type 否 String 作业类型。 只支持flink_opensource_sql_job类型作业。 graph_type 否 String 流图类型。当前支持以下两种流图类型。 简化流图:simple_graph 静态流图:job_graph flink_version 否 String Flink版本。当前只支持1.10和1.12。