A source de dados do AnalyticDB for MySQL 2.0 permite a sincronização bidirecional de dados entre o AnalyticDB for MySQL 2.0 e outros sistemas no DataWorks. Use-a para ler ou gravar dados no AnalyticDB for MySQL 2.0 em tarefas de sincronização offline.
Limitações
A sincronização offline suporta leitura de dados em views.
O Reader do AnalyticDB for MySQL 2.0 não aceita tipos multivalorados. A tarefa de sincronização falhará se os dados de origem contiverem esses tipos.
Tipos de campo suportados
Leitura offline
A tabela a seguir lista os mapeamentos de tipos de dados do Reader do AnalyticDB for MySQL 2.0. Os dados fluem do AnalyticDB for MySQL 2.0 para o MaxCompute via DataX.
|
Tipo do AnalyticDB for MySQL 2.0 |
Tipo do DataX |
Tipo do MaxCompute |
Observações |
|
BIGINT |
LONG |
BIGINT |
|
|
TINYINT |
LONG |
INT |
|
|
SMALLINT |
LONG |
INT |
|
|
INT |
LONG |
INT |
|
|
FLOAT |
STRING |
DOUBLE |
O AnalyticDB for MySQL 2.0 transmite FLOAT como string. O MaxCompute armazena o valor como DOUBLE. |
|
DOUBLE |
STRING |
DOUBLE |
O AnalyticDB for MySQL 2.0 transmite DOUBLE como string. O MaxCompute armazena o valor como DOUBLE. |
|
VARCHAR |
STRING |
STRING |
|
|
DATE |
DATE |
DATETIME |
|
|
TIME |
DATE |
DATETIME |
|
|
TIMESTAMP |
DATE |
DATETIME |
Gravação offline
A tabela abaixo apresenta os mapeamentos de tipos de dados do Writer do AnalyticDB for MySQL 2.0.
|
Tipo do DataWorks |
Tipo de dados do AnalyticDB for MySQL 2.0 |
|
Integer |
INT, TINYINT, SMALLINT, BIGINT |
|
Floating-point |
FLOAT, DOUBLE |
|
String |
VARCHAR |
|
Date and time |
DATE, TIMESTAMP |
|
Boolean |
BOOLEAN |
Adicionar uma source de dados
Antes de desenvolver uma tarefa de sincronização no DataWorks, adicione a source de dados necessária conforme as instruções em Gerenciamento de sources de dados. As descrições dos parâmetros estão disponíveis no console do DataWorks ao adicionar a source de dados.
Desenvolver uma tarefa de sincronização de dados
Configure uma tarefa de sincronização offline para uma única tabela
Use um dos métodos a seguir para configure a tarefa:
Codeless UI: Consulte Configure uma tarefa na codeless UI.
Code editor: Consulte Configure uma tarefa no code editor. Para obter a referência completa de parâmetros e exemplos de scripts, veja Apêndice: Exemplos de scripts e descrições de parâmetros.
Configure uma tarefa de sincronização de leitura offline para um banco de dados inteiro
Consulte Configure uma tarefa de sincronização em tempo real para um banco de dados inteiro.
Apêndice: Exemplos de scripts e descrições de parâmetros
Reader
Exemplo de script
{
"type": "job",
"version": "2.0",
"steps": [
{
"stepType": "ads",
"parameter": {
"datasource": "ads_demo",
"table": "th_test",
"column": [
"id",
"testtinyint",
"testbigint",
"testdate",
"testtime",
"testtimestamp",
"testvarchar",
"testdouble",
"testfloat"
],
"mode": "ODPS",
"odps": {
"accessId": "<yourAccessKeyId>",
"accessKey": "<yourAccessKeySecret>",
"account": "<yourAccount>",
"odpsServer": "http://service.cn-shanghai-vpc.maxcompute.aliyun-inc.com/api",
"tunnelServer": "http://dt.cn-shanghai-vpc.maxcompute.aliyun-inc.com",
"accountType": "aliyun",
"project": "odps_test"
}
},
"name": "Reader",
"category": "reader"
},
{
"stepType": "stream",
"parameter": {},
"name": "Writer",
"category": "writer"
}
],
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
},
"setting": {
"errorLimit": {
"record": ""
},
"speed": {
"concurrent": 2,
"throttle": true,
"mbps": "12"
}
}
}
Parâmetros do Reader
|
Parâmetro |
Descrição |
Obrigatório |
Valor padrão |
|
|
Nome da tabela de origem dos dados exportados. |
Sim |
Nenhum |
|
|
Colunas a exportar. Se omitido, todas as colunas serão exportadas. |
Não |
|
|
|
Número máximo de registros a exportar. |
Não |
Nenhum |
|
|
Cláusula WHERE para filtrar os dados exportados. A string é anexada diretamente à consulta. Exemplo: |
Não |
Nenhum |
|
|
Modo de exportação. Consulte Escolha um modo de exportação. |
Não |
|
|
|
AccessKey ID da conta Alibaba Cloud usada pelo AnalyticDB for MySQL 2.0 para acessar o ODPS (MaxCompute). A conta requer as permissões Describe, Create, Select, Alter, Update e Drop. Obrigatório quando |
Condicional |
Nenhum |
|
|
AccessKey secret da conta Alibaba Cloud usada pelo AnalyticDB for MySQL 2.0 para acessar o ODPS. A conta requer as permissões Describe, Create, Select, Alter, Update e Drop. Obrigatório quando |
Condicional |
Nenhum |
|
|
Endpoint da API do ODPS. Obrigatório quando |
Condicional |
Nenhum |
|
|
Endpoint do ODPS Tunnel. Obrigatório quando |
Condicional |
Nenhum |
|
|
Nome do projeto ODPS. Obrigatório quando |
Condicional |
Nenhum |
|
|
Tipo de conta usada para acessar o ODPS. Aplicável apenas quando |
Não |
|
Escolha um modo de exportação
O parâmetro mode defina como o Reader exporta dados do AnalyticDB for MySQL 2.0.
|
Modo |
Funcionamento |
Quando usar |
|
|
Usa a cláusula SQL LIMIT para exportação paginada. Não requer credenciais adicionais. |
Padrão. Adequado para a maioria dos casos. |
|
|
Usa o ODPS DUMP para exportar dados diretamente. Requer credenciais de acesso ao ODPS (parâmetros |
Recomendado para exportações de grande volume que exigem o desempenho do ODPS DUMP. |
Writer
Exemplo de script
{
"type": "job",
"version": "2.0",
"steps": [
{
"stepType": "stream",
"parameter": {},
"name": "Reader",
"category": "reader"
},
{
"stepType": "ads",
"parameter": {
"datasource": "",
"table": "",
"partition": "",
"column": [
"id"
],
"writeMode": "insert",
"batchSize": "256",
"overWrite": "true",
"options.ignoreEmptySource": true
},
"name": "Writer",
"category": "writer"
}
],
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
},
"setting": {
"errorLimit": {
"record": "0"
},
"speed": {
"throttle": true,
"concurrent": 1,
"mbps": "12"
}
}
}
Parâmetros do Writer
|
Parâmetro |
Descrição |
Obrigatório |
Valor padrão |
|
|
Informações de conexão da instância do AnalyticDB for MySQL 2.0. Formato: |
Sim |
Nenhum |
|
|
Nome do banco de dados do AnalyticDB for MySQL 2.0. |
Sim |
Nenhum |
|
|
AccessKey ID da instância do AnalyticDB for MySQL 2.0. |
Sim |
Nenhum |
|
|
AccessKey secret da instância do AnalyticDB for MySQL 2.0. |
Sim |
Nenhum |
|
|
Nome da source de dados adicionada no DataWorks. Deve corresponder exatamente ao nome da source de dados. |
Sim |
Nenhum |
|
|
Nome da tabela de destino. |
Sim |
Nenhum |
|
|
Modo de gravação. Consulte Escolha um modo de gravação. |
Sim |
Nenhum |
|
|
Campos a gravar. Defina como |
Sim |
Nenhum |
|
|
Nome da partição na tabela de destino. Obrigatório se a tabela de destino for uma tabela padrão (particionada). |
Não |
Nenhum |
|
|
String de conexão personalizada anexada à URL JDBC (Java Database Connectivity) ( |
Não |
Nenhum |
|
|
Número de registros a gravar por lote. Obrigatório quando |
Condicional |
Nenhum |
|
|
Tamanho do buffer de coleta de dados do DataX. Os dados de origem são classificados neste buffer pelas colunas de chave de partição da tabela de destino antes do envio em lotes. Para melhor desempenho, defina |
Condicional |
Desativado |
|
|
Define se os dados existentes na tabela de destino devem ser sobrescritos. |
Não |
|
|
|
Define se erros devem ser ignorados quando os dados de origem estiverem vazios. Se definido como |
Não |
|
Escolha um modo de gravação
O parâmetro writeMode determina como o Writer importa dados para o AnalyticDB for MySQL 2.0.
|
Modo |
Funcionamento |
Quando usar |
|
|
Insere registros linha por linha. Em caso de conflito de chave primária, o novo registro sobrescreve o existente. Requer |
Ideal para gravações incrementais ou do tipo upsert. |
|
|
Importa dados por meio de um sistema de terceiros. O parâmetro |
Projetado para cenários de tabela completa ou carga em massa. |