Utilice la función de integración de datos de DataWorks para exportar datos completos de Tablestore a MaxCompute con el fin de realizar análisis y procesamiento sin conexión.
Requisitos previos
Antes de exportar los datos, complete las siguientes tareas:
Obtenga el nombre de la instancia, el endpoint de la instancia y region ID de la tabla de origen en Tablestore.
Create a MaxCompute project para usarlo como destino.
Create an AccessKey para su cuenta de Alibaba Cloud o un usuario de RAM. Asegúrese de que la cuenta o el usuario tengan permisos para acceder a Tablestore y MaxCompute.
Activate DataWorks y create a workspace en la región donde se encuentra su instancia de MaxCompute o Tablestore.
Create a serverless resource group and attach it to the workspace. Para obtener más información sobre facturación, consulte Billing for serverless resource groups.
Si su espacio de trabajo de DataWorks y la instancia de Tablestore están en regiones diferentes, debe crear una conexión de emparejamiento de VPC para habilitar la conectividad de red entre regiones.
Procedimiento
Siga estos pasos para configurar una exportación de datos completos de Tablestore a MaxCompute.
Paso 1: Agregar origen de datos de Tablestore
Agregue un origen de datos de Tablestore en DataWorks para establecer una conexión con la tabla 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 como se describe en la siguiente tabla.
Parámetro
Descripción
Data source name
Nombre del origen de datos. El nombre puede contener letras, dígitos y guiones bajos (_), pero no puede comenzar con un dígito ni con un guion bajo (_).
Data source description
Breve descripción del origen de datos. La descripción 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 utilizar la VPC Address.
AccessKey ID
AccessKey ID y AccessKey Secret de su cuenta de Alibaba Cloud o usuario de RAM.
AccessKey Secret
-
Pruebe la conectividad del resource group.
Debe probar 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 correspondiente al resource group.
-
Una vez superada la prueba de conectividad, el Connection Status cambia a Connected. Haga clic en Complete. Puede consultar el nuevo origen de datos en la lista de orígenes de datos.
Si el resultado de la prueba de conectividad es Failed, puede utilizar la Network Connectivity Diagnostic Tool para resolver el problema por su cuenta.
Paso 2: Agregar origen de datos de MaxCompute
Agregue y configure un origen de datos de MaxCompute como destino para la exportación de datos.
-
Haga clic nuevamente en Add data source. Seleccione MaxCompute como tipo de origen de datos y configure los parámetros.
Parámetro
Descripción
Data source name
El nombre debe consistir en letras, dígitos y guiones bajos (_). No puede comenzar con un dígito ni con un guion bajo (_).
Data source description
Breve descripción del origen de datos, sin exceder los 80 caracteres.
Authentication method
Este valor se establece en Alibaba Cloud account and Alibaba Cloud RAM role de forma predeterminada y no se puede cambiar.
Alibaba Cloud Account
Current Alibaba Cloud Account: Seleccione el MaxCompute project name y la Default Access Identity para la cuenta actual en la región especificada.
Another Alibaba Cloud Account: Introduzca el UID of Alibaba Cloud account, el MaxCompute project y el RAM role para la otra cuenta en la región especificada.
Region
Región donde se encuentra el proyecto de MaxCompute.
Endpoint
El valor predeterminado es Auto adapt. También puede seleccionar Custom configuration según sea necesario.
Después de configurar los parámetros y superar la prueba de conectividad, haga clic en Complete para agregar el origen de datos.
Paso 3: Configurar tarea de sincronización por lotes
Cree una tarea de sincronización de datos para definir las reglas de transferencia y las asignaciones de campos para exportar datos de Tablestore a MaxCompute.
Crear 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 un resource group y una región.
En el panel de navegación izquierdo, haga clic en .
Seleccione el espacio de trabajo de destino y haga clic en Go to Data Studio.
En la página Data development de la consola Data Studio, haga clic en el icono
situado a la derecha de Workspace Directory, y luego elija .En el cuadro de diálogo Create node, seleccione una Path. Establezca el origen de datos en Tablestore y el destino en MaxCompute (ODPS). Introduzca un Name y haga clic en OK.
Configurar tarea de sincronización
En Workspace Directory, haga clic para abrir el nodo de tarea de sincronización por lotes recién creado. Puede configurar la tarea mediante la interfaz visual sin código o el editor de código.
Interfaz visual sin código (predeterminada)
Configure los siguientes elementos en la interfaz visual sin código:
Data source: Seleccione los orígenes de datos de origen y destino.
Runtime Resource: Seleccione un resource group. El sistema probará 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 desde el cual leer datos. El valor debe estar en formato de matriz JSON.
inf_minrepresenta infinito negativo.Por ejemplo, si la clave primaria consiste en una columna
intllamadaidy una columnastringllamadaname, la configuración de ejemplo es la siguiente:Rango específico 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 desde el cual leer datos. El valor debe estar en formato de matriz JSON.
inf_maxrepresenta infinito positivo.Por ejemplo, si la clave primaria consiste en una columna
intllamadaidy una columnastringllamadaname, la configuración de ejemplo es la siguiente:Rango específico de clave primaria
Datos completos
[ { "type": "int", "value": "999" }, { "type": "string", "value": "zzz" } ][ { "type": "inf_max" }, { "type": "inf_max" } ] -
Splitting Configuration: Configuración de división personalizada en formato de matriz JSON. En la mayoría de los casos, no necesita configurar este parámetro (déjelo como
[]).Si se producen puntos críticos de datos en su instancia de Tablestore y la política de división automática de Tablestore Reader no es eficaz, se recomienda utilizar reglas de división personalizadas. Una división especifica los puntos de división dentro del rango de clave primaria. Solo necesita configurar las claves de fragmentación, no todas las claves primarias.
-
Destination: Configure los siguientes elementos. Puede mantener los valores predeterminados para otros parámetros o modificarlos según sea necesario.
Project Name in Production Environment: Muestra el nombre del proyecto de MaxCompute asociado con el origen de datos de destino.
Tunnel Resource Group: De forma predeterminada, se selecciona Common transmission resources, que corresponde a la cuota gratuita de MaxCompute. Puede seleccionar un resource group dedicado para Tunnel según sea necesario.
Table: Seleccione la tabla de destino. Puede hacer clic en Generate Target Table Schema para generar automáticamente la tabla de destino.
Partition: Los datos sincronizados se guardan en una partición para una fecha específica. Esto se puede utilizar para la sincronización incremental diaria.
Write Mode: Seleccione si desea borrar los datos existentes o anexar nuevos datos.
Destination Field Mapping: Asigna los campos del origen a la tabla de destino. El sistema proporciona una asignación predeterminada basada en los campos de la tabla de origen, la cual puede modificar según sea necesario.
Después de completar la configuración, haga clic en Save en la parte superior de la página.
Editor de código
Para editar el script, haga clic en Code Editor en la parte superior de la página.
El siguiente script de ejemplo corresponde a una tabla de datos de origen cuya clave primaria consiste en una columnaintllamadaidy una columnastringllamadaname. La columna de atributo es un campointllamadoage. En su script, reemplace los valores de los parámetrosdatasourceytablecon sus valores reales.
{
"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"
}
]
}
}
Después de terminar de editar el script, haga clic en Save en la parte superior de la página.
Ejecutar tarea de sincronización
-
En el lado derecho de la página, haga clic en Debug configuration, seleccione el resource group que se usará para la ejecución y agregue los Script parameters.
bizdate: La partición de datos de la tabla de destino en MaxCompute, por ejemplo,
20251120.
Haga clic en Run en la parte superior de la página para iniciar la tarea de sincronización.
Paso 4: Consultar resultados de la sincronización
Después de que se ejecute la tarea, consulte su estado de ejecución en los registros y compruebe los datos sincronizados en la consola de DataWorks.
-
Consulte el estado de ejecución de la tarea y el resultado 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 los resultados en la tabla de destino.
Vaya a la consola de DataWorks. En el panel de navegación izquierdo, haga clic en . Luego, haga clic en Go to data map para consultar la tabla de destino y sus datos.