Todos los productos
Search
Centro de documentos

:Origen de datos de MaxCompute

Última actualización: Sep 04, 2026

Requisitos previos

  • Debe estar familiarizado con MaxCompute, anteriormente conocido como ODPS. Para obtener más información, click here.

  • Su cuenta de OpenSearch debe contar con los permisos obligatorios sobre la tabla de MaxCompute, incluidos los permisos describe, select, download y los permisos de etiqueta en los campos.

Utilice las siguientes sentencias para otorgar permisos:

-- Add an account.
add user ****@aliyun.com;

-- Grant the required table permissions to the account.
GRANT describe,select,download ON TABLE table_xxx TO USER ****@aliyun.com;
GRANT describe,select,download ON TABLE table_xxx_done TO USER ****@aliyun.com;

-- If field-level permission checks are enabled in MaxCompute, you may be unable to access fields with high-level permissions when pulling data, which prevents index creation. In this case, you must grant the account the required field-level permissions.
-- Grant permissions on the entire project.
SET LABEL 3 to USER ****@aliyun.com;

-- Grant permissions on a single table.
GRANT LABEL 3 ON TABLE table_xxx(col1, col2) TO ****@aliyun.com;
  • OpenSearch Vector Search Edition admite los siguientes tipos de campo en tablas de MaxCompute: STRING, BOOLEAN, DOUBLE, BIGINT y DATETIME.

Nota

Para obtener información detallada sobre las sentencias de creación de tablas y la configuración de parámetros, consulte Table creation statements for a MaxCompute data source.

Configurar un origen de datos de MaxCompute

  1. Inicie sesión en la consola de OpenSearch. En la esquina superior izquierda, cambie a OpenSearch Vector Search Edition. En la página Instance Management, localice su instancia y haga clic en Manage en la columna Actions.

  1. En el panel de navegación izquierdo, seleccione Configuration Center > Data Source Configuration. Haga clic en Add Data Source. Seleccione MaxCompute como tipo de origen de datos e introduzca la información correspondiente, como Data Source Name, Project, AccessKey ID, AccessKey Secret, Table, Partition Key y Automatic Reindexing.

  1. Después de configurar los parámetros, haga clic en Check. Una vez validada la configuración, se habilitará el botón OK.

  2. Tras agregar un origen de datos, debe configurar un esquema de índice y añadir una tabla de índices. Para obtener más información, consulte Add an index table.

  3. Una vez configurada la tabla de índices, debe actualizar la configuración y ejecutar la reindexación para aplicar los cambios a su clúster en línea. Para obtener más información, consulte Configuration update.

Nota:

  • Data Source Name: Nombre del origen de datos. Debe seguir el formato: InstanceName_CustomName.

  • Project, AccessKey ID, AccessKey Secret, Table y Partition Key: Parámetros obligatorios para acceder al origen de datos de MaxCompute.

  • Automatic Reindexing: Especifica si se habilita la reindexación automática. Si se activa, el sistema desencadena automáticamente la reindexación de las tablas de índices que hacen referencia a este origen de datos cada vez que se detecta un cambio en él.

  • Si habilita la reindexación automática, debe crear una tabla done. Para obtener más información, consulte la sección Automatic reindexing a continuación.

Reindexación automática

Propósito de la tabla done: Al habilitar la reindexación automática para un origen de datos, OpenSearch Vector Search Edition supervisa la tabla done para detectar cambios y desencadenar la reindexación automáticamente.

Ejemplo: Su tabla de MaxCompute se llama mytable y está particionada por ds=20220113. Tras la reindexación inicial, se genera diariamente una nueva partición con datos completos. Necesita que OpenSearch Vector Search Edition busque la nueva partición y desencadene automáticamente la reindexación para extraer los nuevos datos. Para lograrlo, debe utilizar la función de reindexación automática junto con una tabla done.

Procedimiento:

  1. Al agregar el origen de datos, habilite la reindexación automática.

  2. En MaxCompute, cree una tabla done. Si su tabla de datos se llama mytable y su clave de partición es ds, la tabla done debe llamarse mytable_done con una clave de partición también llamada ds. Las dos tablas aparecen en MaxCompute de la siguiente manera:

    odps:sql:xxx> show tables;
    InstanceId: xxx  
    SQL: .                                                                                              
    ALIYUN$****@aliyun.com:mytable          # The table that contains the full data.
    ALIYUN$****@aliyun.com:mytable_done     # The done table that controls automatic full data ingestion.

    A continuación se describe la estructura de la tabla done:

    Datos de ejemplo para una tabla done: La columna attribute tiene el valor {"swift_start_timestamp":1603096083} y la partición ds tiene el valor 20180724.

    Utilice la siguiente sentencia para crear la tabla done:

    create table mytable_done (attribute string) partitioned by (ds string);
  3. Una vez completada la generación de datos para la partición ds=20220114 de la tabla mytable, debe actualizar la tabla done para desencadenar la reindexación en OpenSearch Vector Search Edition.

    -- Add the partition.
    alter table mytable_done add if not exists partition (ds="20220114");
    
    -- Insert the signal data to trigger automatic full ingestion.
    insert into table mytable_done partition (ds="20220114") select '{"swift_start_timestamp":1642003200}';

    La tabla done ahora contiene el siguiente contenido:

    odps:sql:xxx> select * from mytable_done where ds=20220114 limit 1;
    InstanceId: xxx  
    SQL: .                                                                                              
    +-----------+----+
    | attribute | ds |
    +-----------+----+
    | {"swift_start_timestamp":1642003200} | 20220114 |
    +-----------+----+

    Una vez insertados los datos de señal en la tabla done, OpenSearch Vector Search Edition detecta esta señal y desencadena automáticamente la reindexación.

    Importante
    • La tabla done debe tener como mínimo una clave de partición, y el nombre de esta clave debe ser idéntico al de la clave de partición de la tabla de datos. Por ejemplo, si la clave de partición de la tabla de datos es ds, la clave de partición de la tabla done también debe ser ds.

    • La tabla done debe tener un solo campo de tipo STRING, y el nombre del campo debe ser attribute.

    • La partición que agregue a la tabla done debe existir en la tabla de datos. Por ejemplo, si la tabla de datos tiene las particiones ds="20220114", ds="20220115" y ds="20220116", la nueva partición añadida a la tabla done debe ser una de estas.

    • Al insertar datos en la tabla done, el valor del campo attribute debe ser una cadena JSON, como {"swift_start_timestamp":1642003200}. Esta marca de tiempo indica el desplazamiento inicial para la sincronización incremental en tiempo real.

Modificar un origen de datos de MaxCompute

  1. En la página Data Source Configuration, localice el origen de datos que desea modificar y haga clic en Modify en la columna Actions.

  2. En la página Edit Data Source, puede modificar información como Project, AccessKey ID, AccessKey Secret, Table y Partition Key.

    Después de realizar los cambios, haga clic en Check. Una vez validada la configuración, haga clic en OK para guardar los cambios.

  3. Después de modificar el origen de datos, debe actualizar la configuración y ejecutar la reindexación para aplicar los cambios a su clúster en línea. Para obtener más información, consulte Configuration update.

    Nota

    Establezca la granularidad de la partición en horas, por ejemplo, yyyymmddhh (como 2022011314). Esto le permite ejecutar varios trabajos de reindexación completa en un solo día.

Eliminar un origen de datos de MaxCompute

  1. Vaya a Data Source Configuration y haga clic en Delete.

  2. Al hacer clic en Delete, el sistema comprueba si alguna tabla de índices hace referencia al origen de datos.

  • Si ninguna tabla de índices hace referencia al origen de datos, haga clic en OK para eliminarlo. Posteriormente, debe actualizar la configuración y ejecutar la reindexación para que la eliminación surta efecto.

  • Si una tabla de índices hace referencia al origen de datos, se muestra el mensaje de error Data source is referenced by an index table (código de error: DataSourceInUse). Debe eliminar la tabla de índices o quitar la asociación antes de poder eliminar el origen de datos.

Antes de eliminar el origen de datos, debe eliminar primero la tabla de índices que hace referencia a él. Consulte Delete an index table.

Notas de uso

  • No es posible cambiar el Data Source Name al editar un origen de datos.

  • MaxCompute no admite tablas externas. Debe crear una tabla interna.

  • La tabla especificada para un origen de datos de MaxCompute debe ser una tabla particionada.

  • Utilice tablas de MaxCompute para la ingesta de datos completos. Para actualizaciones incrementales en tiempo real, utilice un origen de datos basado en API.