O serviço DataWorks Data Integration permite exportar dados completos do Tablestore para o OSS. Esse processo é útil para criar backups de baixo custo ou exportar dados a uma máquina local para análise adicional. Após a exportação dos dados completos para o OSS, baixe os arquivos em sua máquina local para processamento posterior.
Pré-requisitos
Antes de iniciar a exportação de dados, certifique-se de atender aos seguintes pré-requisitos:
Obtenha o nome da instância, o endpoint, o ID da região e outras informações da tabela de origem do Tablestore.
Crie um AccessKey para sua conta Alibaba Cloud ou para um usuário do Resource Access Management (RAM) com permissões para o Tablestore e o OSS.
Ative o DataWorks e crie um workspace na região onde seu bucket do OSS ou instância do Tablestore está localizado.
Crie um grupo de recursos Serverless e anexe-o ao workspace. Para obter 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 de VPC para habilitar a conectividade de rede entre regiões.
Procedimento
Siga estas etapas para configurar e executar a tarefa de exportação de dados.
Etapa 1: Adicionar uma fonte de dados do Tablestore
Primeiro, configure uma fonte de dados do Tablestore no DataWorks para se conectar aos 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 o 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. O nome pode conter letras, dígitos e sublinhados (_), mas não pode começar com um dígito ou sublinhado (_).
Data source description
Breve descrição da fonte de dados. A descrição 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 usuário RAM.
AccessKey Secret
-
Teste a conectividade do grupo de recursos.
É necessário testar 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 do grupo de recursos.
-
Após a aprovação no teste de conectividade, o Connection Status mudará para Connected. Clique em Complete. Você poderá visualizar a nova fonte de dados na lista de fontes de dados.
Se o resultado do teste de conectividade for Failed, utilize a Network Connectivity Diagnostic Tool para resolver o problema por conta própria.
Etapa 2: Adicionar uma fonte de dados do OSS
Configure uma fonte de dados do OSS como destino da exportação de dados.
-
Clique em Add Data Source novamente. Na caixa de diálogo, pesquise e selecione OSS como o tipo de fonte de dados e configure os parâmetros da fonte de dados.
Parâmetro
Descrição
Data Source Name
O nome da fonte de dados deve consistir em letras, dígitos e sublinhados (_). Não pode começar com um dígito ou sublinhado (_).
Data Source Description
Breve descrição da fonte de dados. A descrição não pode exceder 80 caracteres.
Access Mode
-
RAM Role Authorization Mode: A conta de serviço do DataWorks acessa a fonte de dados assumindo uma função RAM. Se esta for a primeira vez que você seleciona este modo, siga as instruções na tela para conceder as permissões necessárias.
-
AccessKey Mode: Acesse a fonte de dados usando o AccessKey ID e o AccessKey Secret de uma conta Alibaba Cloud ou usuário RAM.
Role
Este parâmetro é obrigatório apenas quando você define o Access Mode como RAM Role Authorization Mode.
AccessKey ID
Estes parâmetros são obrigatórios apenas quando você define o Access Mode como AccessKey Mode. Correspondem ao AccessKey ID e AccessKey Secret da conta Alibaba Cloud ou usuário RAM.
AccessKey Secret
Region
Região onde o bucket está localizado.
Endpoint
Nome de domínio do OSS. Para mais informações, consulte Regiões e endpoints.
Bucket
Nome do bucket.
-
Após configurar os parâmetros e passar no teste de conectividade, clique em Complete para adicionar a fonte de dados.
Etapa 3: Configurar uma tarefa de sincronização em lote
Crie e configure uma tarefa de sincronização de dados para definir as regras de transferência de dados do Tablestore para o OSS.
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 o grupo de recursos e a região.
No painel de navegação à esquerda, escolha .
Selecione o workspace correspondente e clique em Go To Data Studio.
No console do Data Studio, clique em 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 de dados como OSS, insira um Name e clique em OK.
Configurar a tarefa de sincronização
Em Workspace Directories, clique em no nó da tarefa de sincronização em lote e configure a tarefa na interface sem código ou no editor de código.
Interface sem código (padrão)
Configure os seguintes parâmetros:
Data Source: Selecione as fontes de dados de origem e de destino.
Runtime Resource: Selecione um grupo de recursos. Após a seleção, o sistema testa automaticamente a conectividade da fonte de dados.
-
Data Source:
Table: Selecione a tabela de origem na lista suspensa.
-
Primary Key Range (Start): Chave primária inicial do intervalo de leitura. O valor é um array JSON.
inf_minrepresenta infinito negativo.Quando a chave primária inclui uma coluna
intchamadaide uma colunastringchamadaname, as configurações a seguir servem como exemplos:Intervalo de chave primária especificado
Dados completos
[ { "type": "int", "value": "000" }, { "type": "string", "value": "aaa" } ][ { "type": "inf_min" }, { "type": "inf_min" } ] -
Primary Key Range (End): Chave primária final do intervalo de leitura de dados, especificada como um array JSON.
inf_maxrepresenta infinito positivo.Quando a chave primária inclui uma coluna
intchamadaide uma colunastringchamadaname, as configurações a seguir servem como exemplos:Intervalo de chave primária especificado
Dados completos
[ { "type": "int", "value": "999" }, { "type": "string", "value": "zzz" } ][ { "type": "inf_max" }, { "type": "inf_max" } ] -
Splitting Configuration: Configuração personalizada de shards no formato de array JSON. Normalmente, deixe este parâmetro sem configuração definindo-o como
[].Se ocorrerem hotspots no armazenamento de dados do Tablestore e a política automática de sharding do Tablestore Reader for ineficaz, recomendamos o uso de regras personalizadas de sharding. Essas regras permitem especificar chaves de shard dentro do intervalo de chave primária. É necessário configurar apenas as chaves de shard, não todas as chaves primárias.
-
Destination: Selecione o Text Type e configure os parâmetros correspondentes.
Text Type: Os valores válidos são csv, text, orc e parquet.
Object Name (Path Included): Caminho completo para o arquivo no bucket do OSS. Por exemplo,
tablestore/resource_table.csv.Column Delimiter: O valor padrão é
,. Se o separador for um caractere não imprimível, insira sua codificação Unicode, como\u001bou\u007c.Object Path: Caminho do arquivo no bucket do OSS. Este parâmetro é obrigatório apenas para o tipo de arquivo parquet.
File Name: Nome do arquivo no bucket do OSS. Este parâmetro é obrigatório apenas para arquivos no formato parquet.
-
Destination Field Mapping: Mapeia campos da tabela de origem para o arquivo de destino. Cada linha representa um campo no formato JSON.
-
Source Field: Campos de chave primária e colunas de atributos da tabela de origem.
Quando a chave primária inclui uma coluna
intchamadaide uma colunastringchamadaname, e as colunas de atributos incluem um campointchamadoage, a configuração a seguir serve como exemplo:{"name":"id","type":"int"} {"name":"name","type":"string"} {"name":"age","type":"int"} -
Target Field: Campos de chave primária e colunas de atributos da tabela de origem.
Quando a chave primária inclui uma coluna
intchamadaide uma colunastringchamadaname, e as colunas de atributos incluem um campointchamadoage, a configuração a seguir serve como exemplo:{"name":"id","type":"int"} {"name":"name","type":"string"} {"name":"age","type":"int"}
-
Após 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. O editor de código será aberto. Edite o script.
O exemplo a seguir mostra uma configuração em que o tipo de arquivo de destino é CSV. A tabela de origem possui uma chave primária que inclui uma colunaintchamadaide uma colunastringchamadaname. A coluna de atributo é um campointchamadoage. Ao configurar o script, substitua odatasource, o nome da tabelatablee o nome do arquivo de destinoobjectno script de exemplo pelos seus valores reais.
{
"type": "job",
"version": "2.0",
"steps": [
{
"stepType": "ots",
"parameter": {
"datasource": "source_data",
"column": [
{
"name": "id",
"type": "int"
},
{
"name": "name",
"type": "string"
},
{
"name": "age",
"type": "int"
}
],
"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": "oss",
"parameter": {
"dateFormat": "yyyy-MM-dd HH:mm:ss",
"datasource": "target_data",
"writeSingleObject": false,
"column": [
{
"name": "id",
"type": "int"
},
{
"name": "name",
"type": "string"
},
{
"name": "age",
"type": "int"
}
],
"writeMode": "truncate",
"encoding": "UTF-8",
"fieldDelimiter": ",",
"fileFormat": "csv",
"object": "tablestore/source_table.csv"
},
"name": "Writer",
"category": "writer"
}
],
"setting": {
"errorLimit": {
"record": "0"
},
"speed": {
"concurrent": 2,
"throttle": false
}
},
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
}
}
Após editar o script, clique em Save na parte superior da página.
Executar a tarefa de sincronização
Clique em Run na parte superior da página para iniciar a tarefa de sincronização. Ao executar a tarefa pela primeira vez, confirme a Debug Configuration.
Etapa 4: Visualizar os resultados da sincronização
Após a conclusão da tarefa, verifique seu status de execução nos logs e inspecione o arquivo resultante no bucket do OSS de destino.
-
Visualize o status e o resultado da execução da tarefa na parte inferior da página. As informações de log a seguir indicam que a tarefa de 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 o arquivo no bucket de destino.
Acesse a Lista de Buckets. Clique em no bucket de destino para visualizar ou baixar o arquivo de resultado.