Express-Sync pipeline tasks use the Apache Arrow columnar in-memory format for end-to-end data transport. They improve throughput in large-scale data synchronization scenarios by leveraging vectorized batch reads and writes, zero-copy mapping, and Arrow Flight SQL. This topic describes how to create an Express-Sync pipeline task.
Prerequisites
Before you create an Express-Sync pipeline task, configure the source and destination data sources to be synchronized. This allows you to select them when configuring the input and output components. Express-Sync pipeline tasks support the following data sources:
Procedure
Step 1: Create an Express-Sync pipeline
-
In the top navigation bar of the Dataphin homepage, choose Develop > Data Integration.
-
In the top navigation bar of the Data Integration page, select a Project. If you are using Dev-Prod mode, you must also select an environment.
-
In the offline integration list, click the New icon and select Express-Sync. The Create Express-Sync pipeline dialog box opens.
-
In the Create Express-Sync pipeline dialog box, configure the parameters.
Parameter
Description
Pipeline name
Enter a name for the pipeline. The name can be up to 64 characters long and cannot contain the following special characters: vertical bars (|), forward slashes (/), backslashes (\), colons (:), question marks (?), less-than (<) and greater-than (>) signs, asterisks (*), or single quotation marks (').
Scheduling type
Select a scheduling type for the pipeline. The available options are:
-
Periodic node: A task that runs at regular intervals.
-
Manual node: A task that has no dependencies and runs only when manually triggered.
Description
Enter a brief description for the Express-Sync pipeline. The description can contain up to 1,000 characters.
Select directory
Select a directory to store the task.
If the desired directory does not exist, you can create it.
-
Click New Folder to open the New Folder dialog box.
-
In the New Folder dialog box, enter a Name for the folder and, as needed, select a Directory location.
-
Click OK.
-
-
Click OK to create the Express-Sync pipeline.
Step 2: Develop the pipeline script
The component library for Express-Sync pipeline tasks supports only input and output components. The configuration process is the same as for offline integration tasks. You can also switch to script mode.
The input and output components for Express-Sync pipeline tasks are categorized by their level of Arrow support:
-
Apache Arrow acceleration: The data source provides a native columnar read/write path, allowing data to be transmitted in Arrow format without row-to-column conversion.
-
Apache Arrow adaptation: The data source does not provide a native columnar path. Data must be converted between the row-based format and the Arrow columnar format during read and write operations.
The following input components are supported:
|
Input component |
Arrow capability |
Read/write mode |
Description |
|
Apache Arrow adaptation |
JDBC to Arrow columnar |
Reads data via JDBC and batch-converts the result set to the Arrow columnar in-memory format for transport. |
|
|
Apache Arrow adaptation |
JDBC to Arrow columnar |
Reads data via JDBC and batch-converts the result set to the Arrow columnar in-memory format for transport. |
|
|
Apache Arrow adaptation |
JDBC to Arrow columnar |
Reads data via JDBC and batch-converts the result set to the Arrow columnar in-memory format for transport. |
|
|
Apache Arrow adaptation |
JDBC to Arrow columnar |
Reads data via JDBC and batch-converts the result set to the Arrow columnar in-memory format for transport. |
|
|
Apache Arrow acceleration |
Storage API (Arrow) |
Reads data in the native Arrow format through the MaxCompute Storage API, enabling zero-conversion, high-throughput transport. |
|
|
Apache Arrow acceleration |
Columnar file zero-copy |
Directly maps ORC, Parquet, or text files to the Arrow memory layout, enabling zero-copy reads without deserialization. |
|
|
Apache Arrow acceleration |
Columnar file zero-copy |
Maps ORC, Parquet, or text files to an Arrow columnar layout by using zero-copy mapping and vectorized scanning. |
|
|
Apache Arrow acceleration |
Arrow Flight SQL |
Reads data as a columnar stream through the high-speed Arrow Flight SQL port (default: 8070) of the Doris frontend (FE). |
|
|
Apache Arrow acceleration |
Arrow Flight SQL |
Reads data as a columnar stream through the high-speed Arrow Flight SQL port (default: 8070) of the SelectDB FE. You must specify a Warehouse (computing cluster). |
The following output components are supported:
|
Output component |
Arrow capability |
Read/write mode |
Description |
|
Apache Arrow adaptation |
Arrow columnar to JDBC |
Converts Arrow columnar data to a row-based format and then writes the data through JDBC. |
|
|
Apache Arrow adaptation |
Arrow columnar to JDBC |
Converts Arrow columnar data to a row-based format and then writes the data through JDBC. |
|
|
Apache Arrow adaptation |
Arrow columnar to JDBC |
Converts Arrow columnar data to a row-based format and then writes the data through JDBC. |
|
|
Apache Arrow adaptation |
Arrow columnar to JDBC |
Converts Arrow columnar data to a row-based format and then writes the data through JDBC. |
|
|
Apache Arrow acceleration |
Storage API (Arrow) |
Writes data in the native Arrow format through the MaxCompute Storage API, enabling zero-conversion, high-throughput transport. |
|
|
Apache Arrow acceleration |
Columnar file zero-copy |
Writes data directly to ORC, Parquet, or text files from the Arrow memory layout, which eliminates serialization overhead. |
|
|
Apache Arrow acceleration |
Columnar file zero-copy |
Writes data directly to ORC, Parquet, or text files from the Arrow memory layout, which eliminates serialization overhead. |
|
|
Apache Arrow adaptation |
Arrow columnar to JDBC |
Converts Arrow columnar data to a row-based format and then writes the data through JDBC. |
|
|
Apache Arrow adaptation |
Arrow columnar to JDBC |
Converts Arrow columnar data to a row-based format and then writes the data through JDBC. |
Step 3: Configure pipeline scheduling
On the menu bar of the development canvas, click Scheduling Configuration to configure the basic information, scheduling configuration, scheduling dependency, scheduling parameters, runtime configuration, and resource configuration for the Express-Sync pipeline task. For more information, see the following topics:
-
Configure basic information for an offline integration pipeline
-
Configure resources for an offline integration pipeline task
Step 4: Save and commit the task
-
Click the Save icon above the canvas to save the Express-Sync pipeline task.
-
Click the Submit icon above the canvas. In the Submit Notes dialog box, enter notes and click OK and Submit.
Next steps
-
If you are using Dev-Prod mode, you must publish the task so it can be scheduled in the production environment.
-
If you are using Basic mode, the task becomes available for scheduling in the production environment after you commit it. You can view the committed task in the O&M Center.