Importe dados de tabela para o Alibaba Cloud SelectDB utilizando o recurso Data Integration do DataWorks com o ApsaraDB for SelectDB. Este exemplo usa o MySQL como source de dados para sincronizar informações com o ApsaraDB for SelectDB.
Limitações
O recurso Data Integration do DataWorks suporta apenas a integração do ApsaraDB for SelectDB com o Alibaba Cloud SelectDB.
Não há suporte para gravação de dados em campos BITMAP, HLL (HyperLogLog) e QUANTILE_STATE.
Desenvolvimento da tarefa de sincronização de dados
Adicionar sources de dados
Antes de desenvolver uma tarefa de sincronização de dados, crie um source de dados MySQL e um source de dados SelectDB no DataWorks.
Crie um source de dados MySQL. Para mais informações, consulte MySQL Data Source.
-
Crie um source de dados SelectDB. Para mais informações, consulte Data Source Management. A tabela a seguir lista os principais parâmetros.
Parâmetro
Descrição
Data source name
Nome do source de dados.
MySQL connection string
String de conexão JDBC:
jdbc:mysql://<ip>:<port>/<dbname>.No console do ApsaraDB for SelectDB, acesse a página Instance Details > Network Information para obter o VPC Endpoint (ou Public Endpoint) e a MySQL Port.
Exemplo:
jdbc:mysql://selectdb-cn-4xl3jv1****.selectdbfe.rds.aliyuncs.com:9030/test_dbNotaSe a instância MySQL e a instância do ApsaraDB for SelectDB estiverem na mesma VPC, use o VPC Endpoint. Caso contrário, use o Public Endpoint.
HTTP connection address
Endereço de conexão HTTP:
<ip>:<port>.No console do ApsaraDB for SelectDB, acesse a página Instance Details > Network Information para obter o VPC Endpoint (ou Public Endpoint) e a HTTP Port.
Exemplo:
selectdb-cn-4xl3jv1****.selectdbfe.rds.aliyuncs.com:8080NotaSe a instância MySQL e a instância do ApsaraDB for SelectDB estiverem na mesma VPC, use o VPC Endpoint. Caso contrário, use o Public Endpoint.
Username
Insira o nome de usuário da sua instância do ApsaraDB for SelectDB.
Password
Insira a senha do usuário da sua instância do ApsaraDB for SelectDB.
ImportantePara adicionar o source de dados, adicione os endereços IP do grupo de recursos do DataWorks à lista de permissões dos sources de dados, como o SelectDB. Para mais informações, consulte Add IP addresses to a whitelist. Ao configurar a lista de permissões, distinga entre grupos de recursos exclusivos e compartilhados do Data Integration.
Configure sincronização offline de tabela única
Configure uma tarefa de sincronização offline no modo assistente ou no modo script. Para mais detalhes, consulte os tópicos a seguir:
-
Para obter a lista completa de parâmetros e um exemplo de script para o modo script, consulte Script mode: samples and parameters.
Modo script: exemplos e parâmetros
Configuração de script de tarefa offline
Ao configurar uma tarefa offline no modo script, use o formato detalhado em Script mode configuration.
Exemplo de script para MySQL Reader e 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"
}
]
}
}
Parâmetros do script
|
Parâmetro |
Descrição |
|
datasource |
Obrigatório. Nome do source de dados no DataWorks. Este valor deve corresponder exatamente ao nome do source criado. |
|
table |
Obrigatório. Nome da tabela de destino. |
|
column |
Obrigatório. Colunas de destino onde os dados serão gravados, separadas por vírgulas (,). Exemplo: |
|
loadUrl |
Obrigatório. Endpoint HTTP do cluster FE do SelectDB. O formato é |
|
username |
Obrigatório. Nome de usuário do banco de dados SelectDB. |
|
password |
Obrigatório. Senha do usuário do banco de dados SelectDB. |
|
preSql |
Instruções SQL executadas antes do início da tarefa de sincronização. O modo assistente aceita uma única instrução, enquanto o modo script permite múltiplas instruções (por exemplo, para limpar uma tabela). |
|
postSql |
Instruções SQL executadas após a conclusão da tarefa de sincronização. O modo assistente aceita uma única instrução, enquanto o modo script suporta várias (por exemplo, para adicionar um carimbo de data/hora). |
|
maxBatchRows |
Número máximo de linhas a serem importadas por lote. O valor padrão é 500.000. |
|
loadProps |
Parâmetros de solicitação para COPY INTO que definem o formato dos dados importados. Padrão: JSON. Se loadProps não estiver configurado ou estiver definido como
Para usar o formato CSV, especifique o formato e configure os delimitadores de linha e coluna conforme mostrado abaixo. Se não forem especificados, as colunas usarão tabulação (
|
Tipos de dados com suporte
O ApsaraDB for SelectDB oferece suporte aos seguintes tipos de dados.
|
Tipo de dado SelectDB |
Gravação offline |
|
INT |
Com suporte |
|
BIGINT |
Com suporte |
|
LARGEINT |
Com suporte |
|
SMALLINT |
Com suporte |
|
TINYINT |
Com suporte |
|
BOOLEAN |
Com suporte |
|
DECIMAL |
Com suporte |
|
DOUBLE |
Com suporte |
|
FLOAT |
Com suporte |
|
CHAR |
Com suporte |
|
VARCHAR |
Com suporte |
|
STRING |
Com suporte |
|
DATE |
Com suporte |
|
DATEV2 |
Com suporte |
|
DATETIME |
Com suporte |
|
DATETIMEV2 |
Com suporte |
|
ARRAY |
Com suporte |
|
JSONB |
Com suporte |
|
BITMAP |
Sem suporte |
|
HLL (HyperLogLog) |
Sem suporte |
|
QUANTILE_STATE |
Sem suporte |