Use o recurso de integração de dados do DataWorks para exportar dados completos do Tablestore para o MaxCompute e realizar análises e processamentos offline. O DataWorks é uma plataforma de desenvolvimento e governança de big data.
Pré-requisitos
Antes de exportar os dados, conclua as seguintes preparações:
Obtenha as informações da tabela de origem do Tablestore, incluindo nome da instância, endpoint da instância e ID da região.
Crie um projeto do MaxCompute para usar como destino de armazenamento dos dados.
Crie um AccessKey para sua conta Alibaba Cloud ou para um usuário RAM. A conta ou o usuário deve ter permissões de acesso ao Tablestore e ao MaxCompute.
Ative o DataWorks e crie um workspace na região onde sua instância do MaxCompute ou do Tablestore está localizada.
Crie um grupo de recursos serverless e anexe-o ao workspace. Para mais informações sobre faturamento, consulte Faturamento de grupo de recursos serverless.
Se o workspace do DataWorks e a instância do Tablestore estiverem em regiões diferentes, crie uma conexão de peering VPC para habilitar a conectividade de rede entre regiões.
Procedimento
Siga estas etapas para configurar uma exportação completa de dados do Tablestore para o MaxCompute.
Etapa 1: Adicionar uma fonte de dados do Tablestore
Configure uma fonte de dados do Tablestore no DataWorks para conectar-se à tabela de dados de origem.
Faça login no console do DataWorks. Mude para a região de destino. No painel de navegação à esquerda, escolha . Na lista suspensa, selecione o workspace desejado e clique em Go to Data Integration.
No painel de navegação à esquerda, clique em Data Source.
Na página Data Sources, clique em Add Data Source.
Na caixa de diálogo Add Data Source, pesquise e selecione Tablestore como tipo de fonte de dados.
-
Na caixa de diálogo Add OTS Data Source, configure os parâmetros da fonte de dados conforme descrito na tabela a seguir.
Parâmetro
Descrição
Data source name
Nome da fonte de dados. Pode conter letras, dígitos e sublinhados (_), mas não pode começar com dígito ou sublinhado (_).
Data source description
Breve descrição da fonte de dados. O texto pode ter até 80 caracteres.
Region
Selecione a região onde a instância do Tablestore está localizada.
Tablestore Instance Name
Nome da instância do Tablestore.
Endpoint
Endpoint da instância do Tablestore. Recomendamos o uso do VPC Address.
AccessKey ID
AccessKey ID e AccessKey Secret da sua conta Alibaba Cloud ou do usuário RAM.
AccessKey Secret
-
Teste a conectividade do grupo de recursos.
Teste a conectividade do grupo de recursos com a fonte de dados. A tarefa de sincronização não será executada se o grupo de recursos não conseguir se conectar à fonte de dados.
Na seção Connection Configuration, clique em Test Network Connectivity na coluna Connection Status referente ao grupo de recursos.
-
Após a aprovação no teste de conectividade, o Connection Status mudará para Connected. Clique em Complete. A nova fonte de dados estará visível na lista de fontes de dados.
Se o resultado do teste de conectividade for Failed, use a Network Connectivity Diagnostic Tool para resolver o problema.
Etapa 2: Adicionar uma fonte de dados do MaxCompute
Configure uma fonte de dados do MaxCompute para usá-la como destino da exportação de dados.
-
Clique novamente em Add Data Source. Selecione MaxCompute como tipo de fonte de dados e configure os parâmetros.
Parâmetro
Descrição
Data Source Name
O nome deve conter apenas letras, dígitos e sublinhados (_). Não pode começar com dígito ou sublinhado (_).
Data Source Description
Descrição resumida da fonte de dados. O limite é de 80 caracteres.
Authentication Method
O valor padrão é Alibaba Cloud Account And Alibaba Cloud RAM Role. Não é possível alterar este valor.
Alibaba Cloud Account
-
Current Alibaba Cloud Account: Selecione o MaxCompute Project Name e a Default Access Identity da conta atual na região especificada.
-
Other Alibaba Cloud Account: Insira o UID of Alibaba Cloud Account, o MaxCompute Project Name e a RAM Role da outra conta na região especificada.
Region
Região onde o projeto do MaxCompute está localizado.
Endpoint
O valor padrão é Auto Fit. Se necessário, selecione Custom Configuration.
-
Após configurar os parâmetros e obter sucesso no teste de conectividade, clique em Complete para adicionar a fonte de dados.
Etapa 3: Configurar uma tarefa de sincronização em lote
Crie uma tarefa de sincronização de dados para definir as regras de transferência e o mapeamento de campos do Tablestore para o MaxCompute.
Criar um nó de tarefa
-
Acesse a página Data Development.
Faça login no console do DataWorks.
Na barra de navegação superior, selecione um grupo de recursos e uma região.
No painel de navegação à esquerda, clique em .
Selecione o workspace de destino e clique em Go to Data Studio.
No console do Data Studio, clique no ícone
à direita de Workspace Directories e selecione .Na caixa de diálogo Create Node, selecione um Path. Defina a fonte de dados como Tablestore e o destino como MaxCompute(ODPS). Insira um Name e clique em OK.
Configurar a tarefa de sincronização
Em Workspace Directories, clique no novo nó de tarefa de sincronização em lote para abri-lo. Configure a tarefa de sincronização pela interface visual sem código ou pelo editor de código.
Interface visual sem código (padrão)
Configure os itens abaixo na interface visual:
Data Source: Selecione as fontes de dados de origem e de destino.
Runtime Resource: Escolha um grupo de recursos. O sistema testa automaticamente a conectividade da fonte de dados após a seleção.
-
Data Source:
Table: Escolha a tabela de dados de origem na lista suspensa.
-
Primary Key Range (Start): Especifique o início do intervalo de chave primária para leitura dos dados. O valor deve estar no formato de array JSON.
inf_minrepresenta um valor infinitamente pequeno.Por exemplo, se a chave primária for composta por uma coluna
intchamadaide uma colunastringchamadaname, a configuração de exemplo será:Intervalo específico de chave primária
Dados completos
[ { "type": "int", "value": "000" }, { "type": "string", "value": "aaa" } ][ { "type": "inf_min" }, { "type": "inf_min" } ] -
Primary Key Range (End): Defina o fim do intervalo de chave primária para leitura dos dados. O valor deve estar no formato de array JSON.
inf_maxrepresenta um valor infinitamente grande.Por exemplo, se a chave primária consistir em uma coluna
intdenominadaide uma colunastringdenominadaname, veja a configuração de exemplo:Intervalo específico de chave primária
Dados completos
[ { "type": "int", "value": "999" }, { "type": "string", "value": "zzz" } ][ { "type": "inf_max" }, { "type": "inf_max" } ] -
Splitting Configuration: Especifique informações personalizadas de configuração de divisão no formato de array JSON. Geralmente, recomenda-se não configurar este parâmetro. Caso não configure, defina-o como
[].Se ocorrerem hot spots no armazenamento de dados do Tablestore e a política de divisão automática do Tablestore Reader não for eficaz, use uma regra de divisão personalizada. Essa regra define os pontos de divisão dentro do intervalo de chave primária inicial e final. Basta configurar a chave de shard, sem necessidade de especificar todas as chaves primárias.
-
Destination: Configure os itens a seguir. Mantenha os valores padrão para os demais parâmetros ou modifique-os conforme necessário.
Production Project Name: Nome do projeto MaxCompute associado à fonte de dados de destino. Este parâmetro é preenchido automaticamente.
Tunnel Resource Group: O valor padrão é Common transmission resources. Este grupo usa a cota gratuita do MaxCompute. Selecione um grupo de recursos dedicado do Tunnel se precisar.
Table: Selecione a tabela de destino. Clique em Generate Target Table Schema para criar automaticamente a tabela de destino.
Partition: Especifique a partição onde os dados sincronizados serão salvos. Este parâmetro é útil para sincronização incremental diária.
Write Mode: Escolha entre limpar os dados existentes antes da gravação ou anexar dados à tabela.
Destination Field Mapping: Configure o mapeamento de campos da tabela de origem para a tabela de destino. O sistema mapeia os campos automaticamente com base na tabela de origem. Faça ajustes se necessário.
Ao concluir a configuração, clique em Save na parte superior da página.
Editor de código
Clique em Code Editor na parte superior da página para editar o script no editor.
O script de exemplo abaixo refere-se a uma tabela de dados de origem cuja chave primária é formada por uma colunaintchamadaide uma colunastringchamadaname. A coluna de atributo é um campointdenominadoage. No seu script, substitua os valores dos parâmetrosdatasourceetablepelos seus valores reais.
{
"type": "job",
"version": "2.0",
"steps": [
{
"stepType": "ots",
"parameter": {
"datasource": "source_data",
"column": [
{
"name": "id",
"type": "INTEGER"
},
{
"name": "name",
"type": "STRING"
},
{
"name": "age",
"type": "INTEGER"
}
],
"range": {
"begin": [
{
"type": "inf_min"
},
{
"type": "inf_min"
}
],
"end": [
{
"type": "inf_max"
},
{
"type": "inf_max"
}
],
"split": []
},
"table": "source_table",
"newVersion": "true"
},
"name": "Reader",
"category": "reader"
},
{
"stepType": "odps",
"parameter": {
"partition": "pt=${bizdate}",
"truncate": true,
"datasource": "target_data",
"tunnelQuota": "default",
"column": [
"id",
"name",
"age"
],
"emptyAsNull": false,
"guid": null,
"table": "source_table",
"consistencyCommit": false
},
"name": "Writer",
"category": "writer"
}
],
"setting": {
"errorLimit": {
"record": "0"
},
"speed": {
"concurrent": 2,
"throttle": false
}
},
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
}
}
Após terminar a edição do script, clique em Save na parte superior da página.
Executar a tarefa de sincronização
-
Clique em Debug Configuration no lado direito da página. Selecione um grupo de recursos para executar a tarefa e adicione os Script Parameters.
bizdate: Partição de dados da tabela de destino no MaxCompute. Por exemplo,
20251120.
Clique em Run na parte superior da página para iniciar a tarefa de sincronização.
Etapa 4: Visualizar o resultado da sincronização
Após a conclusão da tarefa de sincronização, verifique o status de execução nos logs e confira os dados sincronizados no console do DataWorks.
-
Verifique o status e o resultado da execução da tarefa na parte inferior da página. As informações de log abaixo indicam que a sincronização foi bem-sucedida.
2025-11-18 11:16:23 INFO Shell run successfully! 2025-11-18 11:16:23 INFO Current task status: FINISH 2025-11-18 11:16:23 INFO Cost time is: 77.208s -
Visualize os dados sincronizados na tabela de destino.
Acesse o console do DataWorks. No painel de navegação à esquerda, clique em . Em seguida, clique em Go to Data Map para visualizar a tabela de destino e seus dados.