In DataWorks, a SelectDB node lets you develop and periodically schedule tasks for SelectDB. You can also integrate these tasks with other jobs.
Background
SelectDB is a new-generation, multi-cloud native, real-time data warehouse built on Apache Doris. It is designed for real-time, enterprise-scale big data analytics, providing a cost-effective and easy-to-use service. For more information, see SelectDB.
Prerequisites
-
The business process has been created.
Data Studio performs engine-specific development operations based on business flows. Before creating a node, create a business flow first. For more information, see Create a business flow.
-
Create a SelectDB data source.
To access your SelectDB database, you must add it as a data source in DataWorks. For instructions on how to create a data source, see Data Source Management. For information about how to use a SelectDB data source in DataWorks, see SelectDB data source.
NoteSelectDB nodes support only SelectDB data sources created using a JDBC connection string.
-
A network connection is established between your data source and a resource group.
You must make sure that the desired data source is connected to the resource group that you want to use. For more information about how to configure network connectivity, see Establish a network connection between a resource group and a data source.
-
(Optional; required for Resource Access Management (RAM) users) The RAM user used for task development has been added to the target workspace and assigned either the Development or Workspace Administrator role (which grants broad permissions—assign with caution). For more information about adding members and granting permissions, see Add members to a workspace.
Limitations
This feature is available in the following regions: China (Hangzhou), China (Shanghai), China (Beijing), China (Shenzhen), China (Chengdu), China (Hong Kong), Singapore, Malaysia (Kuala Lumpur), Germany (Frankfurt), US (Silicon Valley), and US (Virginia).
SelectDB data sources do not support configuring Data Quality monitoring rules.
Step 1: Create a SelectDB node
Log on to the DataWorks console. In the target region, click in the left-side navigation pane. Select a workspace from the drop-down list and click Go to Data Development.
-
Right-click the target Business Flow and choose .
-
In the Create Node dialog box, enter a Name for the node and click OK. After the node is created, you can develop and configure the task in the node.
Step 2: Develop a SelectDB task
(Optional) Select a SelectDB data source
If your workspace contains multiple SelectDB data sources, select the one you want to use from the drop-down list on the node editor page. If only one SelectDB data source exists, it is selected by default.
SelectDB nodes support only SelectDB data sources created using a JDBC connection string.
Write SQL code: Basic example
In the code editor, write the SQL code for your task. For example:
SELECT * FROM usertablename;
Write SQL code: Use scheduling parameters
The Scheduling Parameter provided by DataWorks allow you to dynamically pass parameters to code in periodic scheduling scenarios. You can define a variable in the code of a node task by using the ${variable_name} format and assign a value to the variable in the Scheduling Configurations > Scheduling Parameter section in the right-side navigation bar of the node editing page. For more information about the supported formats and configuration details, see Supported formats of scheduling parameters and Configure and use scheduling parameters.
For example:
SELECT '${var}'; -- You can use this with scheduling parameters.
Step 3: Configure task scheduling
To periodically run the node task, click Scheduling on the right side of the node editing page and configure scheduling settings based on your needs. For more information, see Overview of task scheduling properties.
You must configure the node’s Rerun attribute and Parent Nodes before you can submit the node.
Step 4: Test task code
Perform the following test operations as needed to verify that the task behaves as expected.
-
(Optional) Select a resource group and assign custom parameter values.
-
Click the
icon in the toolbar. In the Parameter dialog box, select the schedule resource group for testing. -
If your task code uses scheduling parameter variables, assign values to them here for testing. For more information about parameter assignment logic, see Task debugging process.
-
-
Save and run the task code.
Click the
icon in the toolbar to save your task code. Then click the
icon to run the task. -
(Optional) Perform smoke testing.
To run smoke testing in the development environment and verify that the scheduled node task executes as expected, perform smoke testing either during or after node submission. For more information, see Perform smoke testing.
Step 5: Submit and publish the task
After configuring the node task, submit and publish it. Once published, the node runs periodically based on its scheduling configuration.
-
Click the
icon in the toolbar to save the node. -
Click the
icon in the toolbar to submit the node task.In the Submission dialog box, enter a Change Description. Optionally, choose whether to require code review after submission.
Note-
You must configure the node’s Rerun attribute and Parent Nodes before you can submit the node.
-
Code review helps ensure code quality and prevents errors caused by unreviewed code being published directly to production. If code review is enabled, the submitted node code must be approved by reviewers before it can be published. For more information, see Code review.
-
If you are using a workspace in standard mode, after successfully submitting the task, click Publish in the upper-right corner of the node editing page to deploy the task to the production environment. For more information, see Publish a task.
Next steps
Task operations: After a task is committed and published, it runs periodically based on the node's configuration. You can click O&M in the top-right corner of the node editing page to go to the Operation Center and view the scheduling and running status of the scheduled task. For more information, see Managing Scheduled Tasks.