Tous les produits
Search
Centre de documentation

OpenSearch:MaxCompute data source

Dernière mise à jour :Aug 10, 2026

Configurez, modifiez et supprimez des sources de données MaxCompute dans OpenSearch Vector Search Edition.

Prérequis

  • Vous devez connaître les bases de MaxCompute (anciennement ODPS). Pour plus d'informations, consultez la section Présentation de MaxCompute.

  • Vous devez disposer des autorisations de table requises. Le compte utilisé pour accéder à la table MaxCompute doit avoir les autorisations describe, select et download sur la table, ainsi que les autorisations de label pour ses champs.

Exécutez les instructions suivantes pour accorder les autorisations :

-- Add a user.
add user ****@aliyun.com;

-- Grant the required table permissions to the user.
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

-- MaxCompute requires field-level permissions. Failure to grant these permissions for all fields, including high-privilege fields, will cause index builds to fail.
-- Grant permissions to all tables in the Project.
SET LABEL 3 to USER ****@aliyun.com

-- Grant permissions to a specific table.
GRANT LABEL 3 ON TABLE table_xxx(col1, col2) TO ****@aliyun.com
  • OpenSearch Vector Search Edition prend en charge les types de champ suivants pour les tables MaxCompute : STRING, BOOLEAN, DOUBLE, BIGINT et DATETIME.

Remarque

Pour plus d'informations sur les instructions CREATE TABLE et la configuration des paramètres, consultez la section Instructions CREATE TABLE pour les sources de données MaxCompute.

Configurer une source de données MaxCompute

1. Connectez-vous à la console OpenSearch. Dans le coin supérieur gauche, basculez vers OpenSearch Vector Search Edition. Sur la page Instance Management, localisez votre instance et cliquez sur Manage dans la colonne Actions.

  1. Dans le volet de navigation de gauche, choisissez Configuration Center > Data Source Configuration. Cliquez sur Add Data Source, sélectionnez MaxCompute et configurez les paramètres suivants : Data Source Name, Project, AccessKey ID, AccessKey Secret, Table, Partition Key et Automatic Index Rebuilding.

3. Configurez les paramètres, puis cliquez sur Validate. Une fois la validation réussie, le bouton OK devient cliquable.

4. Ajoutez la source de données, puis configurez un schéma d'index et ajoutez une table d'index. Pour plus d'informations, consultez la section Ajouter une table d'index.

5. Une fois la table d'index configurée, appliquez la mise à jour de la configuration et reconstruisez l'index pour le rendre disponible sur le cluster de production. Pour plus d'informations, consultez la section Mettre à jour une configuration.

Remarque :

  • Data Source Name : nom de la source de données. Le nom doit respecter le format instance_name_custom_name.

  • Project, AccessKey ID, AccessKey Secret, Table et Partition Key : paramètres requis pour accéder à la source de données MaxCompute.

  • Automatic index rebuilding : si cette option est activée, le système reconstruit automatiquement l'index pour toute table d'index qui référence la source de données lorsque celle-ci change.

  • Si vous activez la reconstruction automatique des index, vous devez créer une done table. Pour plus d'informations, consultez la section Reconstruction automatique des index.

Reconstruction automatique des index

Objectif de la done table : lorsque la reconstruction automatique des index est activée, l'instance OpenSearch Vector Search Edition surveille la done table et déclenche une reconstruction de l'index chaque fois que la done table est mise à jour.

Exemple : supposons que vous disposiez d'une table de données MaxCompute nommée mytable partitionnée par ds=20220113. Après la construction initiale de l'index, une nouvelle partition avec un chargement complet des données est générée quotidiennement. Pour que l'instance OpenSearch Vector Search Edition détecte la nouvelle partition et reconstruise automatiquement l'index, utilisez la **reconstruction automatique des index avec une done table**.

Procédure :

1. Lorsque vous ajoutez la source de données, activez Automatic Index Rebuilding.

2. Créez une done table dans MaxCompute. Si la table de données est nommée mytable et que sa clé de partition est ds, la done table doit être nommée mytable_done et utiliser également ds comme clé de partition. Les deux tables apparaissent dans MaxCompute comme suit :

odps:sql:xxx> show tables;
InstanceId: xxx  
SQL: .                                                                                              

ALIYUN$****@aliyun.com:mytable          # Data table for full loads
ALIYUN$****@aliyun.com:mytable_done     # Done table to trigger automatic full loads

Instruction pour créer la done table :

create table mytable_done (attribute string) partitioned by (ds string);

3. Une fois les données de la nouvelle partition ds=20220114 générées dans la table mytable, mettez à jour la done table pour déclencher une reconstruction de l'index dans votre instance OpenSearch Vector Search Edition.

-- Add the partition.
alter table mytable_done add if not exists partition (ds="20220114");

-- Insert the signal data to trigger the automatic full load.
insert into table mytable_done partition (ds="20220114") select '{"swift_start_timestamp":1642003200}';

Le contenu final de la done table est le suivant :

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

Après l'insertion des données de signal dans la done table, l'instance OpenSearch Vector Search Edition détecte la mise à jour et déclenche automatiquement une reconstruction de l'index.

Important
  • La done table doit comporter au moins une clé de partition, et sa clé de partition doit porter le même nom que la clé de partition de la table de données. Par exemple, si la clé de partition de la table de données est ds, la clé de partition de la done table doit également être ds.

  • La done table doit contenir un seul champ STRING nommé attribute.

  • La partition que vous ajoutez à la done table doit déjà exister dans la table de données. Par exemple, si la table de données contient les partitions ds="20220114", ds="20220115" et ds="20220116", une nouvelle partition ajoutée à la done table doit être l'une de ces partitions existantes.

  • Lorsque vous insérez des données dans la done table, la valeur du champ attribute doit être une chaîne au format JSON, telle que {"swift_start_timestamp":1642003200}. L'horodatage spécifie le point de départ pour l'ingestion incrémentielle des données.

Modifier une source de données MaxCompute

  1. Sur la page Data Source Configuration, localisez la source de données à modifier et cliquez sur Modify dans la colonne Actions.

  1. Sur la page Edit Data Source, modifiez les paramètres tels que Project, AccessKey ID, AccessKey Secret, Table et Partition Key.

Modifiez les paramètres, puis cliquez sur Validate. Une fois la validation réussie, cliquez sur OK pour enregistrer vos modifications.

  1. Après avoir modifié la source de données, appliquez la mise à jour de la configuration et reconstruisez l'index pour que les modifications prennent effet sur le cluster de production. Pour plus d'informations, consultez la section Mettre à jour une configuration.

Remarque

Définissez la granularité de la partition à l'heure, par exemple yyyyMMddHH (tel que 2022011314), afin de permettre plusieurs chargements complets par jour.

Supprimer une source de données MaxCompute

  1. Sur la page Data Source Configuration, localisez la source de données à supprimer et cliquez sur Delete dans la colonne Actions.

  1. Après avoir cliqué sur Delete, le système vérifie si la source de données est référencée par une table d'index.

  • Si la source de données n'est référencée par aucune table d'index, cliquez sur OK pour la supprimer.

  • Si la source de données est référencée par une table d'index, une erreur s'affiche.

Le système affiche le message : « The data source is referenced by an index table. Delete the index table or remove the association, and then delete the data source. »

Supprimez toutes les tables d'index qui référencent la source de données avant de la supprimer. Pour plus d'informations, consultez la section Supprimer une table d'index.

Remarques d'utilisation

  • Vous ne pouvez pas modifier le nom d'une source de données après sa création.

  • MaxCompute ne prend pas en charge les tables externes. Vous devez utiliser une table interne.

  • La table que vous configurez en tant que source de données MaxCompute doit être une table partitionnée.

  • Vous pouvez utiliser des tables générées dans MaxCompute pour les opérations de chargement complet et une source de données API pour envoyer des données en temps réel.