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 de dados no DataWorks. Use-a para ler ou gravar dados no AnalyticDB for MySQL 2.0 como parte de uma tarefa de sincronização offline.
Limitações
A sincronização offline suporta a leitura de dados de views.
O Reader do AnalyticDB for MySQL 2.0 não suporta tipos multivalor. Se os dados de source contiverem tipos multivalor, a tarefa de sincronização falha.
Tipos de campo suportados
Leitura offline
A tabela a seguir lista os mapeamentos de tipos de dados para o Reader do AnalyticDB for MySQL 2.0. Os dados fluem do AnalyticDB for MySQL 2.0 por meio do DataX para o MaxCompute.
|
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 a seguir lista os mapeamentos de tipos de dados para o Writer do AnalyticDB for MySQL 2.0.
|
Tipo do DataWorks |
Tipo de dados do AnalyticDB for MySQL 2.0 |
|
Inteiro |
INT, TINYINT, SMALLINT, BIGINT |
|
Ponto flutuante |
FLOAT, DOUBLE |
|
String |
VARCHAR |
|
Data e hora |
DATE, TIMESTAMP |
|
Booleano |
BOOLEAN |
Adicionar uma source de dados
Antes de desenvolver uma tarefa de sincronização no DataWorks, adicione a source de dados necessária seguindo as instruções em Data source management. As descrições dos parâmetros estão disponíveis no console do DataWorks ao adicionar uma 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 seguintes métodos para configure a tarefa:
Codeless UI: Consulte Configure a task in the codeless UI.
Code editor: Consulte Configure a task in the code editor. Para obter uma referência completa de parâmetros e exemplos de script, consulte Appendix: Script examples and parameter descriptions.
configure uma tarefa de sincronização de leitura offline 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 |
|
|
O nome da tabela de source da exportação. |
Sim |
Nenhum |
|
|
As colunas a exportar. Se não especificado, o sistema exporta todas as colunas. |
Não |
|
|
|
O número máximo de registros a exportar. |
Não |
Nenhum |
|
|
Uma cláusula WHERE para filtrar os dados exportados. O sistema anexa a string diretamente à consulta. Exemplo: |
Não |
Nenhum |
|
|
O modo de exportação. Consulte escolha um modo de exportação. |
Não |
|
|
|
O AccessKey ID da conta da Alibaba Cloud que o AnalyticDB for MySQL 2.0 utiliza para acessar o ODPS (MaxCompute). A conta deve ter as permissões Describe, crie, selecione, Alter, atualize e Drop. Obrigatório quando o |
Condicional |
Nenhum |
|
|
O AccessKey secret da conta da Alibaba Cloud que o AnalyticDB for MySQL 2.0 utiliza para acessar o ODPS. A conta deve ter as permissões Describe, crie, selecione, Alter, atualize e Drop. Obrigatório quando o |
Condicional |
Nenhum |
|
|
O endpoint da api do ODPS. Obrigatório quando o |
Condicional |
Nenhum |
|
|
O endpoint do ODPS Tunnel. Obrigatório quando o |
Condicional |
Nenhum |
|
|
O nome do projeto ODPS. Obrigatório quando o |
Condicional |
Nenhum |
|
|
O tipo de conta utilizada para acessar o ODPS. Aplicável apenas quando o |
Não |
|
escolha um modo de exportação
O parâmetro mode controla como o Reader exporta dados do AnalyticDB for MySQL 2.0.
|
Modo |
Como funciona |
Quando usar |
|
|
Usa a cláusula LIMIT do SQL para exportação paginada. Não requer credenciais adicionais. |
Padrão. Use para a maioria dos casos. |
|
|
Usa o ODPS DUMP para exportar dados diretamente. Requer credenciais de acesso ao ODPS (parâmetros |
Use para exportações de grande volume nas quais o desempenho do ODPS DUMP é preferível. |
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 |
|
|
As informações de conexão da instância do AnalyticDB for MySQL 2.0. Formato: |
Sim |
Nenhum |
|
|
O nome do banco de dados do AnalyticDB for MySQL 2.0. |
Sim |
Nenhum |
|
|
O AccessKey ID da instância do AnalyticDB for MySQL 2.0. |
Sim |
Nenhum |
|
|
O AccessKey secret da instância do AnalyticDB for MySQL 2.0. |
Sim |
Nenhum |
|
|
O nome da fonte de dados conforme adicionada no DataWorks. Deve corresponder exatamente ao nome da fonte de dados. |
Sim |
Nenhum |
|
|
O nome da tabela de destino. |
Sim |
Nenhum |
|
|
O modo de gravação. Consulte escolha um modo de gravação. |
Sim |
Nenhum |
|
|
Os campos a gravar. defina como |
Sim |
Nenhum |
|
|
O 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 para anexar à URL JDBC (Java Database Connectivity) ( |
Não |
Nenhum |
|
|
O número de registros a gravar por lote. Obrigatório quando o |
Condicional |
Nenhum |
|
|
O tamanho do buffer de coleta de dados do DataX. O sistema classifica os dados de source neste buffer pelas colunas de chave de partição da tabela de destino antes de enviá-los em lotes. defina o |
Condicional |
Desativado |
|
|
Define se o sistema deve sobrescrever os dados existentes na tabela de destino. |
Não |
|
|
|
Define se o sistema deve ignorar erros quando os dados de source estiverem vazios. Se for |
Não |
|
escolha um modo de gravação
O parâmetro writeMode controla como o Writer importa dados para o AnalyticDB for MySQL 2.0.
|
Modo |
Como funciona |
Quando usar |
|
|
Insere registros linha por linha. Se ocorrer um conflito de chave primária, o novo registro sobrescreve o registro existente. Requer |
Use para gravações incrementais ou no estilo upsert. |
|
|
Importa dados por meio de um sistema de terceiros. O parâmetro |
Use para cenários de tabela completa ou carga em massa (bulk-load). |