Este método ofrece una forma rentable de respaldar datos o exportarlos como archivos. Posteriormente, puede descargar los archivos exportados a su computadora local.
Requisitos previos
Antes de comenzar, complete las siguientes preparaciones:
Obtenga la información de la tabla de origen de Tablestore, incluido el nombre de la instancia, el endpoint de la instancia y region ID.
Create an AccessKey para una cuenta de Alibaba Cloud o un usuario de RAM que tenga permisos sobre Tablestore y OSS.
Activate DataWorks y create a workspace en la misma región que su bucket de OSS o su instancia de Tablestore.
Create a Serverless resource group and bind it to the workspace. Para obtener detalles de facturación, consulte Serverless resource group billing.
Si su espacio de trabajo de DataWorks y su instancia de Tablestore se encuentran en regiones distintas, debe crear una conexión de emparejamiento de VPC para habilitar la conectividad de red entre regiones.
Procedimiento
Siga estos pasos para configurar y ejecutar la tarea de exportación de datos.
Paso 1: Agregar un origen de datos de Tablestore
Configure un origen de datos de Tablestore en DataWorks para conectarse a sus datos de origen.
Inicie sesión en la consola de DataWorks. Cambie a la región de destino. En el panel de navegación izquierdo, elija . En la lista desplegable, seleccione el espacio de trabajo deseado y haga clic en Go to Data Integration.
En el panel de navegación izquierdo, haga clic en Data Source.
En la página Data Sources, haga clic en Add Data Source.
En el cuadro de diálogo Add Data Source, busque y seleccione Tablestore como tipo de origen de datos.
-
En el cuadro de diálogo Add OTS Data Source, configure los parámetros del origen de datos tal como se describe en la siguiente tabla.
Parámetro
Descripción
Data source name
Nombre del origen de datos. Puede contener letras, dígitos y guiones bajos (_), pero no puede comenzar con un dígito ni con un guion bajo (_).
Data source description
Descripción breve del origen de datos. Puede tener hasta 80 caracteres de longitud.
Region
Seleccione la región donde se encuentra la instancia de Tablestore.
Tablestore Instance Name
Nombre de la instancia de Tablestore.
Endpoint
Endpoint de la instancia de Tablestore. Se recomienda usar la VPC Address.
AccessKey ID
AccessKey ID y AccessKey Secret de su cuenta de Alibaba Cloud o usuario de RAM.
AccessKey Secret
-
Compruebe la conectividad del resource group.
Debe comprobar la conectividad del resource group con el origen de datos. La tarea de sincronización no se puede ejecutar si el resource group no logra conectarse al origen de datos.
En la sección Connection Configuration, haga clic en Test Network Connectivity en la columna Connection Status del resource group.
-
Una vez superada la prueba de conectividad, el estado Connection Status cambia a Connected. Haga clic en Complete. El nuevo origen de datos aparecerá en la lista de orígenes de datos.
Si el resultado de la prueba de conectividad es Failed, utilice la Network Connectivity Diagnostic Tool para resolver el problema por su cuenta.
Paso 2: Agregar un origen de datos de OSS
Configure un origen de datos de OSS como destino de la exportación de datos.
-
Haga clic nuevamente en Add Data Source. En el cuadro de diálogo, busque y seleccione OSS como tipo de origen de datos, y luego configure los parámetros.
Parámetro
Descripción
Data source name
Solo puede contener letras, dígitos y guiones bajos (_), y no puede comenzar con un dígito ni con un guion bajo.
Data source description
Introduzca una descripción breve del origen de datos, de no más de 80 caracteres.
Access Mode
RAM Role Authorization Mode: la cuenta de servicio de DataWorks accede al origen de datos asumiendo un rol de RAM. Si es la primera vez que selecciona este modo, siga las instrucciones en pantalla para otorgar los permisos obligatorios.
Access Key Mode: acceda al origen de datos mediante el AccessKey ID y el AccessKey Secret de una cuenta de Alibaba Cloud o un usuario de RAM.
Select Role
Solo necesita seleccionar un rol de RAM cuando el Access Mode es RAM Role Authorization Mode.
AccessKey ID
El AccessKey ID y el AccessKey Secret de una cuenta de Alibaba Cloud o un usuario de RAM solo son necesarios cuando el Access Mode se establece en AccessKey Mode.
AccessKey secret
Region
Región donde se encuentra el bucket.
Endpoint
Para conocer los nombres de dominio de acceso de OSS, consulte Regions and Endpoints.
Bucket
Nombre del bucket.
Después de configurar los parámetros y superar la prueba de conectividad, haga clic en Complete.
Paso 3: Configurar una tarea de sincronización por lotes
Cree y configure una tarea de sincronización por lotes para definir la transferencia de datos de Tablestore a OSS.
Crear un nodo de tarea
-
Vaya a la página Data Development.
Inicie sesión en la consola de DataWorks.
En la barra de navegación superior, seleccione el resource group y la región.
En el panel de navegación izquierdo, haga clic en Data Development and O&M > Data Development.
Seleccione el espacio de trabajo correspondiente y haga clic en Go To Data Studio.
En la consola de Data Studio, dentro de la página Data Development, haga clic en el icono
situado a la derecha de Workspace Directory y seleccione New Node > Data integration > Batch Synchronization.En el cuadro de diálogo New Node, seleccione una Path. Establezca el origen de datos en Tablestore y el destino de datos en OSS. Introduzca un Name y haga clic en Confirm.
Configurar la tarea de sincronización
En Workspace Directory, haga clic en el nuevo nodo de tarea de sincronización por lotes para abrirlo. Configure la tarea de sincronización mediante la interfaz sin código o el editor de código.
Interfaz sin código
Configure los siguientes elementos:
Data source: seleccione los orígenes de datos de origen y de destino.
Runtime Resource: seleccione un resource group. A continuación, el sistema comprueba automáticamente la conectividad del origen de datos.
-
Data Source:
Table: seleccione la tabla de datos de origen en la lista desplegable.
-
Primary Key Range (Start): inicio del rango de clave primaria que se va a leer, especificado como un arreglo JSON. El valor
inf_minrepresenta infinito negativo.Si la clave primaria consta de una columna de clave primaria
intllamadaidy una columna de clave primariastringllamadaname, consulte los siguientes ejemplos de configuración:Rango de clave primaria
Datos completos
[ { "type": "int", "value": "000" }, { "type": "string", "value": "aaa" } ][ { "type": "inf_min" }, { "type": "inf_min" } ] -
Primary Key Range (End): fin del rango de clave primaria que se va a leer, especificado como un arreglo JSON. El valor
inf_maxrepresenta infinito positivo.Si la clave primaria consta de una columna de clave primaria
intllamadaidy una columna de clave primariastringllamadaname, consulte los siguientes ejemplos de configuración:Rango de clave primaria
Datos completos
[ { "type": "int", "value": "999" }, { "type": "string", "value": "zzz" } ][ { "type": "inf_max" }, { "type": "inf_max" } ] -
Splitting Configuration: por lo general, este parámetro no es obligatorio. Establézcalo en
[].Si los puntos críticos de sus datos de Tablestore hacen que la política de división automática sea ineficaz, utilice reglas de división personalizadas. Estas reglas definen puntos de división dentro del rango de clave primaria. Solo necesita configurar la clave de división, no todas las columnas de clave primaria.
-
Destination: seleccione el Text Type de destino y configure los parámetros relacionados.
Text Type: las opciones incluyen csv, text, orc y parquet.
Object Name (Path Included): ruta y nombre del archivo de destino en el bucket de OSS. Ejemplo:
tablestore/resource_table.csv.Column Delimiter: el valor predeterminado es
,. Si el delimitador es un carácter no imprimible, introduzca su codificación Unicode, como\u001bo\u007c.Object Path: obligatorio solo para el tipo de texto parquet. Especifica la ruta del archivo dentro del bucket de OSS.
File Name: obligatorio solo para el tipo de texto parquet. Especifica el nombre del archivo dentro del bucket de OSS.
-
Destination Field Mapping: asigna los campos de la tabla de origen al archivo de destino. Cada línea, especificada en formato JSON, representa un campo.
-
Source Field: incluye los campos de clave primaria y las columnas de atributos de la tabla de origen.
Si la clave primaria consta de una columna de clave primaria
intllamadaidy una columna de clave primariastringllamadaname, y existe una columna de atributosintllamadaage, consulte el siguiente ejemplo:{"name":"id","type":"int"} {"name":"name","type":"string"} {"name":"age","type":"int"} -
Target Field: incluye los campos de clave primaria y las columnas de atributos de la tabla de origen.
Si la clave primaria consta de una columna de clave primaria
intllamadaidy una columna de clave primariastringllamadaname, y existe una columna de atributosintllamadaage, consulte el siguiente ejemplo:{"name":"id","type":"int"} {"name":"name","type":"string"} {"name":"age","type":"int"}
-
Una vez completada la configuración, haga clic en Save en la parte superior de la página.
Modo script
En la parte superior de la página, haga clic en Code Editor para cambiar a la vista de edición de scripts.
El siguiente script de ejemplo sirve para exportar a un archivo CSV. La clave primaria de la tabla de origen consta de una columnaintllamadaidy una columnastringllamadaname. La tabla también incluye una columna de atributosintllamadaage. Cuando utilice el script, reemplace los valores dedatasource,tableyobjectpor los suyos.
{
"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"
}
]
}
}
Cuando termine de editar el script, haga clic en Save en la parte superior de la página.
Ejecutar la tarea de sincronización
Haga clic en Run en la parte superior de la página para iniciar la tarea de sincronización. La primera vez que ejecute la tarea, deberá confirmar la Debug Configuration.
Paso 4: Consultar los resultados de la sincronización
Una vez finalizada la tarea, puede comprobar su estado de ejecución en los registros y consultar el archivo resultante en su bucket de OSS.
-
Consulte el estado y el resultado de ejecución de la tarea en la parte inferior de la página. La siguiente información de registro indica que la tarea de sincronización se completó correctamente.
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 -
Consulte el archivo en el bucket de destino.
Vaya a la lista de buckets, haga clic en el bucket de destino y luego consulte o descargue el archivo de resultados.