Tous les produits
Search
Centre de documentation

ApsaraDB for SelectDB:Importer des données avec DataWorks

Dernière mise à jour :Aug 11, 2026

Importez des données de table dans Alibaba Cloud SelectDB via la fonctionnalité Data Integration de DataWorks et ApsaraDB for SelectDB. Cet exemple utilise MySQL comme source de données pour synchroniser les données vers ApsaraDB for SelectDB.

Limites

  • La fonctionnalité Data Integration de DataWorks prend uniquement en charge le transfert de ApsaraDB for SelectDB vers Alibaba Cloud SelectDB.

  • L'écriture de données dans les champs BITMAP, HLL (HyperLogLog) et QUANTILE_STATE n'est pas prise en charge.

Développement d'une tâche de synchronisation des données

Ajouter des sources de données

Avant de développer une tâche de synchronisation des données, créez une source de données MySQL et une source de données SelectDB dans DataWorks.

  1. Créez une source de données MySQL. Pour plus d'informations, consultez MySQL Data Source.

  2. Créez une source de données SelectDB. Pour plus d'informations, consultez Data Source Management. Le tableau suivant présente les paramètres clés.

    Paramètre

    Description

    Data source name

    Nom de la source de données.

    MySQL connection string

    Chaîne de connexion JDBC : jdbc:mysql://<ip>:<port>/<dbname>.

    Dans la console ApsaraDB for SelectDB, accédez à la page Instance Details > Network Information pour obtenir le VPC Endpoint (ou le Public Endpoint) ainsi que le MySQL Port.

    Exemple : jdbc:mysql://selectdb-cn-4xl3jv1****.selectdbfe.rds.aliyuncs.com:9030/test_db

    Remarque

    Si l'instance MySQL et l'instance ApsaraDB for SelectDB se trouvent dans le même VPC, utilisez le VPC Endpoint. Sinon, utilisez le Public Endpoint.

    HTTP connection address

    Adresse de connexion HTTP : <ip>:<port>.

    Dans la console ApsaraDB for SelectDB, accédez à la page Instance Details > Network Information pour obtenir le VPC Endpoint (ou le Public Endpoint) ainsi que le HTTP Port.

    Exemple : selectdb-cn-4xl3jv1****.selectdbfe.rds.aliyuncs.com:8080

    Remarque

    Si l'instance MySQL et l'instance ApsaraDB for SelectDB se trouvent dans le même VPC, utilisez le VPC Endpoint. Sinon, utilisez le Public Endpoint.

    Username

    Saisissez le nom d'utilisateur de votre instance ApsaraDB for SelectDB.

    Password

    Saisissez le mot de passe associé à l'utilisateur de votre instance ApsaraDB for SelectDB.

    Important

    Pour ajouter la source de données, ajoutez les adresses IP du groupe de ressources DataWorks à la liste d'autorisation des sources de données telles que SelectDB. Pour plus d'informations, consultez Add IP addresses to a whitelist. Lors de la configuration de la liste d'autorisation, distinguez bien les groupes de ressources Data Integration exclusifs et partagés.

Configurer la synchronisation hors ligne de table unique

Vous pouvez configurer une tâche de synchronisation hors ligne en mode assistant ou en mode script. Pour plus d'informations, consultez les rubriques suivantes :

Mode script : exemples et paramètres

Configuration du script de tâche hors ligne

Pour configurer une tâche hors ligne en mode script, respectez le format détaillé dans Script mode configuration.

Exemple de script MySQL Reader et SelectDB Writer

{
	"type":"job",
	"version":"2.0",
	"steps":[
		{
			"stepType":"mysql",
			"parameter":{
				"column":[
          "<id>",
          "<table_id>",
          "<table_no>",
          "<table_name>",
          "<table_status>"
				],
				"connection":[
					{
						"datasource":"<mysql_datasource>",
						"table":[
							"<mysql_table_name>"
						]
					}
				],
				"where":"",
				"splitPk":"",
				"encoding":"UTF-8"
			},
			"name":"Reader",
			"category":"reader"
		},
		{
			"stepType":"selectdb",
			"parameter":{
        "postSql":[
        ],
        "preSql":[
        ],
        "username": "<selectdb_username>",
        "password": "<selectdb_password>",
        "loadUrl":[
          "<ip:port>"
        ],
        "column":[
          "<id>",
          "<table_id>",
          "<table_no>",
          "<table_name>",
          "<table_status>"
				],
        "connection":[
					{
						"datasource":"<selectdb_datasource>",
						"table":[
							"<selectdb_table_name>"
						]
					}
				],
        "maxBatchRows":1000000,
        "loadProps":{
          "format":"csv",
          "column_separator": "\\x01",
          "line_delimiter": "\\x02"
        }
      },
			"name":"Writer",
			"category":"writer"
		}
	],
	"setting":{
		"errorLimit":{
			"record":"0"
		},
		"speed":{
			"throttle":false,
			"concurrent":1
		}
	},
	"order":{
		"hops":[
			{
				"from":"Reader",
				"to":"Writer"
			}
		]
	}
}

Paramètres du script

Paramètre

Description

datasource

Obligatoire. Nom de la source de données DataWorks. Cette valeur doit correspondre exactement au nom de la source créée.

table

Obligatoire. Nom de la table de destination.

column

Obligatoire. Colonnes de destination dans lesquelles écrire les données, séparées par des virgules (,). Exemple : "column":["id","name","age"]. Pour écrire dans toutes les colonnes selon leur ordre, utilisez un astérisque (), par exemple : "column":[""].

loadUrl

Obligatoire. Endpoint HTTP du cluster FE SelectDB. Le format est ip:port, où ip correspond au VPC Endpoint de SelectDB et port au HTTP Port du cluster SelectDB. Exemple : selectdb-cn-4xl3jv1****.selectdbfe.rds.aliyuncs.com:8080.

username

Obligatoire. Nom d'utilisateur de la base de données SelectDB.

password

Obligatoire. Mot de passe de l'utilisateur de la base de données SelectDB.

preSql

Instructions SQL à exécuter avant le début de la tâche de synchronisation. Le mode assistant accepte une seule instruction, tandis que le mode script en accepte plusieurs (par exemple pour vider une table).

postSql

Instructions SQL à exécuter après la fin de la tâche de synchronisation. Le mode assistant accepte une seule instruction, tandis que le mode script en accepte plusieurs (par exemple pour ajouter un horodatage).

maxBatchRows

Nombre maximal de lignes à importer par lot. La valeur par défaut est 500 000.

loadProps

Paramètres de requête pour COPY INTO spécifiant le format des données importées. Valeur par défaut : JSON. Si loadProps n'est pas configuré ou s'il est défini sur "loadProps":{}, le format JSON est utilisé. Pour le format JSON, seule la configuration suivante avec strip_outer_array=true est prise en charge.

"loadProps": {
       "format": "json",
       "strip_outer_array":true
    }

Pour utiliser le format CSV, spécifiez le format et configurez les délimiteurs de ligne et de colonne comme indiqué ci-dessous. En l'absence de spécification, les colonnes sont séparées par des tabulations (\t) et les lignes par des sauts de ligne (\n). DataWorks génère alors un fichier CSV pour l'importation.

"loadProps": {
       "format":"csv",
       "column_separator": "\\x01",
       "line_delimiter": "\\x02"
    }

Types de données pris en charge

ApsaraDB for SelectDB prend en charge les types de données suivants.

Type de données SelectDB

Écriture hors ligne

INT

Pris en charge

BIGINT

Pris en charge

LARGEINT

Pris en charge

SMALLINT

Pris en charge

TINYINT

Pris en charge

BOOLEAN

Pris en charge

DECIMAL

Pris en charge

DOUBLE

Pris en charge

FLOAT

Pris en charge

CHAR

Pris en charge

VARCHAR

Pris en charge

STRING

Pris en charge

DATE

Pris en charge

DATEV2

Pris en charge

DATETIME

Pris en charge

DATETIMEV2

Pris en charge

ARRAY

Pris en charge

JSONB

Pris en charge

BITMAP

Non pris en charge

HLL (HyperLogLog)

Non pris en charge

QUANTILE_STATE

Non pris en charge

Références

What is DataWorks?