Creating and Submitting a SQL Job
Scenario Description
This section describes how to create and query SQL jobs using APIs. For details on how to call APIs, see Calling APIs.
Constraints
- It takes 6 to 10 minutes to start a job using a new queue for the first time.
Involved APIs
- Creating a Queue: Create a queue.
- Creating a Database: Create a database.
- Creating a Table: Create a table.
- Importing Data: Import the data to be queried.
- Querying Job Details: Check whether the imported data is correct.
- Submitting a SQL Job (Recommended): Submit a query job.
Procedure
- Create a SQL queue. For details, see Creating a Queue.
- Create a database.
- API
URI format: POST /v1.0/{project_id}/databases
- Obtain the value of {project_id} from Obtaining a Project ID.
- For details about the request parameters, see Creating a Database.
- Request example
- Description: Creates a database named db1 in the project whose ID is 48cc2c48765f481480c7db940d6409d1.
- Example URL: POST https://{endpoint}/v1.0/48cc2c48765f481480c7db940d6409d1/databases
- Body:
{ "database_name": "db1", "description": "this is for test" }
- Example response
{ "is_success": true, "message": "" }
- API
- Create a table.
- API
URI format: POST /v1.0/{project_id}/databases/{database_name}/tables
- Obtain the value of {project_id} from Obtaining a Project ID.
- For details about the request parameters, see Creating a Table.
- Request example
- Description: In the project whose ID is 48cc2c48765f481480c7db940d6409d1, create a table named tb1 in the db1 database.
- Example URL: POST https://{endpoint}/v1.0/48cc2c48765f481480c7db940d6409d1/databases/db1/tables
- Body:
{ "table_name": "tb1", "data_location": "OBS", "description": "", "data_type": "csv", "data_path": "obs://obs/path1/test.csv", "columns": [ { "column_name": "column1", "type": "string", "description": "", "is_partition_column": true }, { "column_name": "column2", "type": "string", "description": "", "is_partition_column": false } ], "with_column_header": true, "delimiter": ",", "quote_char": "\"", "escape_char": "\\", "date_format": "yyyy-MM-dd", "timestamp_format": "yyyy-MM-dd HH:mm:ss" }
- Example response
{ "is_success": true, "message": "" }
- API
- (Optional) If the table to be created does not contain data, use the Importing Data API to import data to the table.
- (Optional) After data is imported, you can use the Querying Job Details API to check whether the imported data is correct.
- Submit a query job.
- API
URI format: POST /v1.0/{project_id}/jobs/submit-job
- Obtain the value of {project_id} from Obtaining a Project ID.
- For details about the request parameters, see Creating a Database.
- Request example
- Description: Submit a SQL job in the project whose ID is 48cc2c48765f481480c7db940d6409d1 and query data in the tb1 table in the database db1.
- Example URL: POST https://{endpoint}/v1.0/48cc2c48765f481480c7db940d6409d1/jobs/submit-job
- Body:
{ "currentdb": "db1", "sql": "select * from tb1 limit 10", "queue_name": "queue1" }
- Example response
{ "is_success": true, "message": "", "job_id":""95fcc908-9f1b-446c-8643-5653891d9fd9", "job_type": "QUERY", "job_mode": "async" }
- API
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot