Updating a SQL Job
Function
This API is used to modify a Flink SQL job.
URI
- URI format
- Parameter description
Table 1 URI parameters Parameter
Mandatory
Type
Description
project_id
Yes
String
Project ID, which is used for resource isolation. For details about how to obtain a project ID, see Obtaining a Project ID.
job_id
Yes
Long
Job ID. Refer to Creating a SQL Job to obtain the value.
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
name |
No |
String |
Name of a job. Length range: 0 to 57 characters. |
desc |
No |
String |
Job description. Length range: 0 to 512 characters. |
queue_name |
No |
String |
Name of a queue. The value can contain 0 to 128 characters. |
sql_body |
No |
String |
Stream SQL statement, which includes at least the following three parts: source, query, and sink. Length range: 0 to 1024 x 1024 characters. |
run_mode |
No |
String |
Job running mode. The options are as follows:
The default value is shared_cluster. |
cu_number |
No |
Integer |
Number of CUs selected for a job. The default value is 2. |
parallel_number |
No |
Integer |
Number of parallel jobs set by a user. The default value is 1. |
checkpoint_enabled |
No |
Boolean |
Whether to enable the automatic job snapshot function.
|
checkpoint_mode |
No |
Integer |
Snapshot mode. There are two options:
The default value is 1. |
checkpoint_interval |
No |
Integer |
Snapshot interval. The unit is second. The default value is 10. |
obs_bucket |
No |
String |
OBS bucket where users are authorized to save the snapshot. This parameter is valid only when checkpoint_enabled is set to true. OBS bucket where users are authorized to save the snapshot. This parameter is valid only when log_enabled is set to true. |
log_enabled |
No |
Boolean |
Whether to enable the function of uploading job logs to users' OBS buckets. The default value is false. |
smn_topic |
No |
String |
SMN topic. If a job fails, the system will send a message to users subscribed to the SMN topic. |
restart_when_exception |
No |
Boolean |
Whether to enable the function of automatically restarting a job upon job exceptions. The default value is false. |
idle_state_retention |
No |
Integer |
Expiration time, in seconds. The default value is 3600. |
edge_group_ids |
No |
Array of strings |
List of edge computing group IDs. Use commas (,) to separate multiple IDs. |
dirty_data_strategy |
No |
String |
Dirty data policy of a job.
The default value is 0. |
udf_jar_url |
No |
String |
Name of the resource package that has been uploaded to the DLI resource management system. The UDF Jar file of the SQL job is specified by this parameter. For Flink 1.15 or later, you can only select packages from OBS, instead of DLI. |
manager_cu_number |
No |
Integer |
Number of CUs in the JobManager selected for a job. The default value is 1. |
tm_cus |
No |
Integer |
Number of CUs for each TaskManager. The default value is 1. |
tm_slot_num |
No |
Integer |
Number of slots in each TaskManager. The default value is (parallel_number*tm_cus)/(cu_number-manager_cu_number). |
operator_config |
No |
String |
Degree of parallelism (DOP) of an operator. |
resume_checkpoint |
No |
Boolean |
Whether the abnormal restart is recovered from the checkpoint. |
resume_max_num |
No |
Integer |
Maximum number of retry times upon exceptions. The unit is times/hour. Value range: -1 or greater than 0. The default value is -1, indicating that the number of times is unlimited. |
static_estimator_config |
No |
String |
Traffic or hit ratio of each operator, which is a string in JSON format. Example: {"operator_list":[{"id":"0a448493b4782967b150582570326227","rate_factor":0.55},{"id":"6d2677a0ecc3fd8df0b72ec675edf8f4","rate_factor":1},{"id":"ea632d67b7d595e5b851708ae9ad79d6","rate_factor":0.55},{"id":"bc764cd8ddf7a0cff126f51c16239658","output_rate":2000}]} |
runtime_config |
No |
String |
Customizes optimization parameters when a Flink job is running. |
flink_version |
No |
String |
Flink version. |
execution_agency_urn |
No |
String |
Name of the agency authorized to DLI. This parameter is configurable in Flink 1.15. |
resource_config_version |
No |
String |
Resource configuration version. The value can be v1 or v2. The default value is v1. Compared with the v1 template, the v2 template does not support the setting of the number of CUs. The v2 template supports the setting of Job Manager Memory and Task Manager Memory. v1: applicable to Flink 1.12, 1.13, and 1.15 v2: applicable to Flink 1.13, 1.15, and 1.17. You are advised to use the parameter settings of v2. |
resource_config |
No |
Object |
Resource configuration of a Flink job. For detailed parameter descriptions, refer to Table 3. When the resource configuration version is v2, the configuration takes effect; when the resource configuration version is v1, the configuration is invalid. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
max_slot |
No |
integer |
Number of parallel tasks that a single TaskManager can support. Each task slot can execute one task in parallel. Increasing task slots enhances the parallel processing capacity of the TaskManager but also increases resource consumption. The number of task slots is linked to the CPU count of the TaskManager since each CPU can offer one task slot. By default, a single TM slot is set to 1. The minimum parallelism must not be less than 1. |
parallel_number |
No |
integer |
Number of tasks concurrently executed by each operator in a job. The default value is 1. |
jobmanager_resource_spec |
No |
Object |
JobManager resource specifications. For details about the parameters, see Table 4. |
taskmanager_resource_spec |
No |
Object |
TaskManager resource specifications. For details about the parameters, see Table 5. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
cpu |
No |
double |
Number of CPU cores available for JobManager. The default value is 1.0 CPU core, with a minimum of no less than 0.5 CPU cores. |
memory |
No |
string |
Memory that can be used by JobManager, in MB or GB. The default unit is GB. The default value is 4 GB, and the minimum value is 2 GB. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
cpu |
No |
double |
Number of CPU cores available for TaskManager. The default value is 1.0 CPU core, with a minimum of no less than 0.5 CPU cores. |
memory |
No |
string |
Memory that can be used by TaskManager, in MB or GB. The default unit is GB. The default value is 4 GB, and the minimum value is 2 GB. |
Response Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
is_success |
No |
String |
Indicates whether the request is successfully executed. Value true indicates that the request is successfully executed. |
message |
No |
String |
Message content. |
job |
No |
Object |
Information about job update. For details, see Table 7. |
Example Request
Update an existing SQL job. The updated job is named myjob and runs on testQueue in shared mode.
{ "name": "myjob", "desc": "My first job", "queue_name": "testQueue", "sql_body": "select * from source_table", "run_mode": "shared_cluster", "cu_number": 4, "parallel_number": 4, "checkpoint_enabled": false, "checkpoint_mode": "exactly_once", "checkpoint_interval": 10, "obs_bucket": "", "log_enabled": false, "smn_topic": "", "restart_when_exception": false, "idle_state_retention": 3600, "edge_group_ids": [ "62de1e1c-066e-48a8-a79d-f461a31b2ee1", "2eb00f85-99f2-4144-bcb7-d39ff47f9002" ], "dirty_data_strategy": "0", "execution_agency_urn": "myAgencyName", "udf_jar_url": "group/test.jar" }
Example Response
{ "is_success": "true", "message": "The job is updated successfully.", "job": { "update_time": 1578905682534 } }
Status Codes
Table 8 describes status codes.
Error Codes
If an error occurs when this API is invoked, the system does not return the result similar to the preceding example, but returns the error code and error information. For details, see Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.