Tous les produits
Search
Centre de documentation

MaxCompute:Query Acceleration MaxQA

Dernière mise à jour :Aug 10, 2026

Le moteur MaxQA (MaxCompute Query Accelerator) optimise les performances des requêtes pour les scénarios quasi temps réel. Il s'exécute au sein d'un pool de ressources de calcul dédié aux requêtes et optimise le plan de contrôle, l'optimiseur de requêtes, le moteur d'exécution, le moteur de stockage ainsi que le mécanisme de mise en cache. MaxQA est idéal pour les scénarios de BI, l'analyse interactive et les entrepôts de données quasi temps réel qui exigent une faible latence et une grande stabilité.

Disponibilité du service

Calendrier de disponibilité par région

Région

Bêta publique

Disponibilité générale

Chine (Hangzhou)

17 février 2025

24 novembre 2025

Chine (Shanghai)

Chine (Pékin)

Chine (Shenzhen)

Chine (Ulanqab)

Chine (Hong Kong)

5 mars 2025

27 novembre 2025

Japon (Tokyo)

5 mars 2025

Singapour

20 mars 2025

Indonésie (Jakarta)

Allemagne (Francfort)

31 mars 2025

États-Unis (Silicon Valley)

États-Unis (Virginie)

Notes

Les nouveaux groupes de quotas interactifs utilisent par défaut le mode MaxQA. Les instances MaxQA existantes ne sont pas affectées.

Opérations de base sur MaxQA

Créer une instance MaxQA

MaxQA est disponible uniquement pour les projets MaxCompute utilisant la méthode de facturation par abonnement. Pour créer une instance MaxQA :

  1. Connectez-vous à la console MaxCompute et sélectionnez une région dans le coin supérieur gauche.

  2. Dans le volet de navigation de gauche, accédez à Manage Configurations > Quotas .

  3. Sur la page Quotas, cliquez sur Quota Configuration dans la colonne Actions correspondant au quota cible.

  4. Configuration de base

    1. Sur la page Quota Configuration, sélectionnez l'onglet Basic Configurations et cliquez sur Edit Basic Configurations.

    2. Cliquez sur Add Level-2 Quota, saisissez un Quota Name et sélectionnez Interactive pour le Type.

      • Lorsque vous utilisez MaxQA, spécifiez un Quota Name. Nous vous recommandons d'utiliser un nom lié à vos attributs métier afin de distinguer plusieurs instances.

      • Les quotas Interactive sont dédiés à l'exécution des jobs d'accélération des requêtes (MaxQA).

  5. Cliquez sur OK.

Après la création de l'instance, le statut du groupe de quotas interactif correspondant passe à Starting. Attendez 5 à 8 minutes jusqu'à ce que le statut passe à Running. Vous pouvez alors utiliser l'instance.

Supprimer une instance MaxQA

  1. Sur la page Quotas, cliquez sur Quota Configuration dans la colonne Actions correspondant au quota cible.

  2. Sur la page Quota Configuration, sélectionnez l'onglet Basic Configurations, puis cliquez sur Delete dans la colonne Actions correspondant au quota interactif cible.

La suppression s'exécute en arrière-plan. La page n'affiche ni les mises à jour de statut ni la progression de la suppression.

Mettre à l'échelle une instance MaxQA

Augmentez ou réduisez la capacité d'un groupe de quotas interactifs en fonction de vos besoins métier :

  1. Sur la page Quotas, cliquez sur Quota Configuration dans la colonne Actions correspondant au quota cible.

  2. Sur la page Quota Configuration, sélectionnez l'onglet Basic Configurations et cliquez sur Edit Basic Configurations.

  3. Cliquez sur Add Level-2 Quota et ajustez les Reserved CUs [minCU,maxCU] du groupe de quotas interactifs que vous souhaitez mettre à l'échelle. Une valeur plus élevée indique une augmentation de la capacité, tandis qu'une valeur plus faible indique une réduction.

    Remarque
    • L'incrément minimal pour les CU est de 25.

    • Le nombre minimal de CU doit être d'au moins 25. Pour garantir la stabilité, définissez le nombre minimal de CU à 50 ou plus. Si les ressources interactives ne sont pas nécessaires, définissez la valeur sur 0 ou supprimez le groupe de quotas.

    • Limitation des quotas interactifs :

      • Les Elastically Reserved CUs ne sont pas pris en charge pour les quotas interactifs.

      • Pour garantir les performances et la stabilité de l'accélération des requêtes, définissez le nombre minimal de CU égal au nombre maximal de CU dans un quota interactif.

  4. Cliquez sur OK.

    L'ajustement des CU réservés pour le groupe de quotas interactifs commence.

Les mentions Scaling Out ou Scaling In apparaissent dans la colonne Actions pour le groupe de quotas interactifs. L'augmentation de la capacité prend environ 5 à 8 minutes. La réduction de la capacité peut prendre plus de temps, selon le moment où les jobs en cours se terminent. Dans le pire des cas, le système peut devoir attendre l'expiration des jobs sur les machines à supprimer avant que l'opération de réduction ne commence. Vos jobs ne sont pas affectés pendant les opérations de mise à l'échelle.

Configurer la mise à l'échelle basée sur le temps pour MaxQA

Configurez un plan de mise à l'échelle basé sur le temps pour une mise à l'échelle planifiée :

  1. Sur la page Quotas, cliquez sur Quota Configuration dans la colonne Actions correspondant au quota cible.

  2. Sur la page Quota Configuration, sélectionnez l'onglet Scaling Configuration.

  3. Configurer un plan de mise à l'échelle basé sur le temps

    1. Sur l'onglet Scaling Configuration, cliquez sur Add Configuration Plan. Dans la boîte de dialogue Add Configuration Plan, saisissez un Configuration Plan Name et configurez les Reserved CUs [minCU,maxCU] pour le quota de niveau 2.

    2. Pour modifier un plan de configuration existant :

      Sur l'onglet Scaling Configuration, cliquez sur Edit dans la colonne Actions correspondant au plan cible pour le mettre à jour.

  4. Configurer un planning basé sur le temps

    1. Sur l'onglet Scaling Configuration, cliquez sur Edit Time Plan dans la section Scheduled Scaling Management.

    2. Cliquez sur Add Effective Period, puis sélectionnez une Effective start time et un Configuration Plan.

      Cette option vous permet d'activer différents plans de configuration de quotas à différents moments de la journée. Pour plus d'informations, consultez la rubrique Gérer les ressources de calcul et les quotas.

Politique de planification

Lorsque vous soumettez un job, spécifiez le nom du groupe de quotas interactifs dans le client ou dans la chaîne de connexion JDBC. Le job est alors planifié pour s'exécuter sur l'instance MaxQA correspondante.

Politique de secours

MaxQA ne prend pas en charge le basculement automatique. Si un job MaxQA échoue en raison de limites d'utilisation ou pour d'autres raisons, resoumettez-le manuellement ou soumettez-le à un groupe de quotas par lots.

Méthodes d'accès

Accédez à MaxQA en utilisant les méthodes suivantes :

Utilisation du client MaxCompute

  1. Installez et configurez le client MaxCompute (odpscmd) v0.51.1 ou version ultérieure. Pour plus d'informations, consultez la rubrique Connexion à l'aide d'un client local (odpscmd).

  2. (Facultatif) Dans le répertoire conf de l'installation du client, modifiez le fichier odps_config.ini en ajoutant la commande suivante à la dernière ligne.

    -- Enable MaxQA connection information caching.
    enable_quota_cache=true
  3. Exécutez le fichier de script situé dans le répertoire bin pour démarrer le client MaxCompute.

    Important
    • Pour les systèmes Linux/macOS : exécutez le fichier de script odpscmd.

    • Windows : double-cliquez sur le fichier odpscmd.bat.

  4. Avant d'exécuter un job, exécutez la commande suivante. Les jobs suivants lancés depuis le client s'exécuteront en mode MaxQA sur le groupe de quotas interactifs correspondant.

    USE QUOTA <name_of_the_interactive_quota_group>;

    Vous pouvez également spécifier l'instance MaxQA pour le job actuel au niveau de la session.

    SET odps.task.wlm.quota=<name_of_the_interactive_quota_group>;

Utilisation de DataWorks DataStudio

Important

MaxQA est pris en charge uniquement dans les espaces de travail utilisant la nouvelle version de DataStudio, actuellement en bêta publique. Si vous utilisez une version antérieure de DataStudio, vous devez effectuer la mise à niveau vers la nouvelle version pour utiliser MaxQA. Pour plus d'informations, consultez la rubrique Activer la nouvelle version de DataStudio.

  1. Connectez-vous à la console DataWorks et sélectionnez une région dans le coin supérieur gauche.

  2. Dans le volet de navigation de gauche, accédez à Data Development and O&M > Data Development.

  3. Select Workspace, puis cliquez sur Go to Data Studio.

  4. Sur la page Data Development, cliquez sur Run Configuration à droite .

  5. Sur la page Debugging Configurations, sélectionnez le projet MaxCompute lié à cet espace de travail pour Computing Resource. Le tableau suivant décrit comment sélectionner le quota de calcul pour chaque scénario :

    Remarque
    • Environnement d'exécution : les jobs s'exécutent dans le module d'analyse des données ou de développement des données. Le basculement interactif vers hors ligne ne s'applique pas.

    • Environnement d'exécution de secours : les jobs s'exécutent dans le module de planification. Si le mode interactif est spécifié, vous pouvez également configurer un basculement vers le mode hors ligne en cas d'échec du mode interactif.

    Sélection du quota de calcul

    Quota spécifié / Règle de routage

    Mode d'exécution attendu

    Configuration de la planification et basculement attendu

    Quota par défaut du projet

    Si une règle de routage hors ligne existe, celle-ci s'applique. Les règles de routage interactives ne s'appliquent pas.

    Le quota par défaut du projet est un quota hors ligne. Les jobs s'exécutent sur le quota hors ligne.

    Les jobs s'exécutent sur le quota hors ligne. Le basculement ne s'applique pas.

    Quota spécifié

    Sélectionnez un quota hors ligne.

    Les jobs s'exécutent sur le quota hors ligne.

    Les jobs s'exécutent sur le quota hors ligne. Le basculement ne s'applique pas.

    Quota spécifié

    Sélectionnez un quota interactif.

    Les jobs s'exécutent sur l'instance MaxQA correspondant au groupe de quotas interactifs.

    Dans Scheduling Configuration : si le basculement est désactivé, aucune tentative de basculement n'est effectuée ; si le quota par défaut du projet est sélectionné, celui-ci est utilisé pour le basculement (les règles de routage hors ligne ne s'appliquent pas lors du basculement) ; si un quota spécifique est sélectionné, le quota hors ligne spécifié est utilisé pour le basculement.

    Règle de routage en mode interactif

    Seules des règles de routage hors ligne existent. Aucune règle de routage interactive correspondante n'est trouvée.

    Une erreur est signalée : Cannot find MCQA quota to start connection on project *****. Pour en créer un, consultez la rubrique Utilisation des quotas pour les ressources de calcul.

    Si le basculement est désactivé, aucune tentative de basculement n'est effectuée ; si le quota par défaut du projet est sélectionné, celui-ci est utilisé pour le basculement ; si un quota spécifique est sélectionné, le quota hors ligne spécifié est utilisé pour le basculement.

    Règle de routage en mode interactif

    Une règle de routage interactive correspondante existe.

    Les jobs s'exécutent sur l'instance MaxQA correspondant au groupe de quotas interactifs.

  6. Une fois la configuration terminée, les jobs du nœud SQL sont planifiés sur l'instance MaxQA correspondant au groupe de quotas interactifs.

Pour plus d'informations, consultez la rubrique Créer un nœud MaxCompute SQL dans DataWorks.

Utilisation de SQL Analysis dans la console

  1. Connectez-vous à la console MaxCompute et sélectionnez une région dans le coin supérieur gauche.

  2. Dans le volet de navigation de gauche, accédez à Data Exploration > SQL Analysis.

  3. Après avoir saisi vos instructions SQL dans l'éditeur SQL, cliquez sur Run Configurations à droite pour configurer le Project et le Computing Quota.

  4. Sélectionnez les ressources de calcul correspondant au groupe de quotas interactifs.

  5. Une fois la configuration terminée, les jobs de la page SQL Analysis sont planifiés sur l'instance MaxQA correspondant au groupe de quotas interactifs.

Pour plus d'informations, consultez la rubrique SQL Analysis.

Utilisation de MaxCompute Studio

Assurez-vous d'avoir installé MaxCompute Studio et de l'avoir connecté à votre projet MaxCompute. Pour utiliser MaxQA, exécutez un script :

  1. Installez et configurez MaxCompute Studio v4.3.2 ou version ultérieure. Pour plus d'informations, consultez la rubrique Installer MaxCompute Studio.

  2. Créez un projet MaxCompute Studio et connectez-le à votre projet MaxCompute. Pour plus d'informations, consultez la rubrique Gérer les connexions aux projets.

  3. Créez un script MaxCompute SQL dans le projet. Pour plus d'informations, consultez la rubrique Développer et soumettre un script SQL.

  4. Dans le script MaxCompute SQL, saisissez les instructions SQL. Dans la liste déroulante Execution Mode, sélectionnez MaxQA.

  5. Cliquez sur le bouton Specify additional parameters image, saisissez le nom du groupe de quotas interactifs, puis cliquez sur OK.

  6. Exécutez le script. Le job utilise désormais la fonctionnalité d'accélération des requêtes MaxQA.

Utilisation de JDBC

Pour activer MaxQA lors de la connexion à MaxCompute via JDBC : pour plus d'informations sur les connexions JDBC, consultez le Guide de l'utilisateur.

  1. Téléchargez le code source avec prise en charge de MaxQA.

  2. Configurez la dépendance POM dans Maven.

    <dependency>
       <groupId>com.aliyun.odps</groupId>
       <artifactId>odps-jdbc</artifactId>
       <version>${Latest Version}</version>
    </dependency>
    Important

    Dans le code ci-dessus, Latest Version est un espace réservé. Remplacez-le par un numéro de version spécifique du SDK pour compiler correctement le projet. Consultez le référentiel central Maven pour afficher toutes les versions publiées d'odps-jdbc. Nous vous recommandons d'utiliser la dernière version. Le format du numéro de version est X.X.X.

  3. Créez un programme Java à partir du code source, en l'adaptant à votre environnement. Pour plus d'informations, consultez la rubrique MaxCompute JDBC. Le code suivant fournit un exemple.

    import java.sql.Connection;
    import java.sql.DatabaseMetaData;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    public class MaxCompute {
        private static final String DRIVER_NAME = "com.aliyun.odps.jdbc.OdpsDriver";
        // An AccessKey ID of an Alibaba Cloud account has permissions to call all API operations. This is a high-risk operation. We recommend that you create and use a RAM user to call API operations or perform routine O&M. To create a RAM user, log on to the RAM console.
        // In this example, the AccessKey ID and AccessKey Secret are stored in environment variables. You can also store them in a configuration file based on your business needs.
        // We strongly recommend that you do not hard-code the AccessKey ID and AccessKey Secret in your code. This poses a security risk.
        private static String accessId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
        private static String accessKey = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
        public static void main(String[] args) throws SQLException {
            try {
                Class.forName(DRIVER_NAME);
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
                System.exit(1);
            }
            Connection conn = DriverManager.getConnection(
                    "jdbc:odps:https://service.cn-hangzhou.maxcompute.aliyun.com/api?project=maxqatomax&charset=UTF-8&interactiveMode=true&quotaName=maxfor1&autoSelectLimit=1000000000",
                    MaxCompute.accessId, MaxCompute.accessKey);
            // create a table
            Statement stmt = conn.createStatement();
            final String tableName = "jdbc_test11";
            stmt.execute("DROP TABLE IF EXISTS " + tableName);
            stmt.execute("CREATE TABLE " + tableName + " (key BIGINT, value STRING)");
            // get meta data
            DatabaseMetaData metaData = conn.getMetaData();
            System.out.println("product = " + metaData.getDatabaseProductName());
            System.out.println("jdbc version = "
                    + metaData.getDriverMajorVersion() + ", "
                    + metaData.getDriverMinorVersion());
            ResultSet tables = metaData.getTables(null, "default", tableName, null);
            while (tables.next()) {
                String name = tables.getString("TABLE_NAME");
                System.out.println("inspecting table: " + name);
                ResultSet columns = metaData.getColumns(null, null, name, null);
                while (columns.next()) {
                    System.out.println(
                            columns.getString("COLUMN_NAME") + "\t" +
                                    columns.getString("TYPE_NAME") + "(" +
                                    columns.getInt("DATA_TYPE") + ")");
                }
                columns.close();
            }
            tables.close();
            stmt.close();
            conn.close();
        }
    }

Le code suivant montre un exemple de chaîne de connexion JDBC.

// your_quota_group_name is the name of the interactive quota group that you want to use.
jdbc:odps:<MaxCompute_endpoint>?
project=<MaxCompute_project_name>&interactiveMode=true&quotaName=your_quota_group_name&enableLimit=false&enableOdpsLogger=true"

Paramètre

Description

MaxCompute_endpoint

L'endpoint de la région où se trouve le service MaxCompute. Pour plus d'informations, consultez la rubrique Endpoints.

MaxCompute_project_name

Le nom du projet MaxCompute.

interactiveMode

L'interrupteur de la fonctionnalité MaxQA. Définissez la valeur sur true pour l'activer.

quotaName

Le nom du groupe de quotas interactifs que vous souhaitez utiliser.

enableLimit

Indique s'il est autorisé de télécharger plus de 10 000 lignes de données.

enableOdpsLogger

Active l'impression des journaux. Recommandé si SLF4J n'est pas configuré.

Utilisation des outils BI

Connectez-vous à MaxQA à l'aide d'outils BI tels que Tableau, Quick BI, Guandata BI et SQL Workbench/J .

Tableau

Ajoutez la propriété interactiveMode=true et la propriété quotaName=your_quota_nick_name au chemin de l'URL du serveur pour activer la fonctionnalité MaxQA. Nous vous recommandons également d'ajouter la propriété enableOdpsLogger=true pour imprimer les journaux. Pour les étapes détaillées, consultez la rubrique Configurer JDBC pour utiliser Tableau.

  • Format de l'URL :

    <MaxCompute_endpoint>?project=<MaxCompute_project_name>&charset=UTF-8&interactiveMode=true&quotaName=<your_quota_group_name>&autoSelectLimit=1000000000

    Paramètre

    Obligatoire

    Description

    MaxCompute_endpoint

    Oui

    L'endpoint de la région où se trouve le service MaxCompute. Pour plus d'informations, consultez la rubrique Endpoint. Par exemple, l'endpoint de la région Chine (Hangzhou) est https://service.cn-hangzhou.maxcompute.aliyun.com/api.

    MaxCompute_project_name

    Oui

    Le nom du projet MaxCompute, par exemple maxqatomax.

    your_quota_group_name

    Oui

    Le nom du groupe de quotas interactifs, par exemple maxfor1.

    Dans l'onglet General de la boîte de dialogue de connexion Alibaba MaxCompute, saisissez l'URL construite dans le champ Server. Saisissez votre AccessKey ID dans le champ Username et votre AccessKey Secret dans le champ Password. Cliquez ensuite sur Sign In.

  • Exemple d'URL :

    https://service.cn-hangzhou.maxcompute.aliyun.com/api?project=maxqatomax&charset=UTF-8&interactiveMode=true&quotaName=maxfor1&autoSelectLimit=1000000000

Quick BI

  1. Connectez-vous à la console Quick BI.

  2. Dans le volet de navigation de gauche, sélectionnez Data Sources, puis dans le coin supérieur droit, cliquez sur Create Data Source.

  3. Sur la page Create data source, sélectionnez MaxCompute.

  4. Sur la page Configure connection, pour Quota computing resource group, saisissez le nom de la ressource de calcul Quota MaxQA pour activer la fonctionnalité MaxQA et utiliser les ressources de calcul MaxQA. Pour plus d'informations, consultez la rubrique Connexion Quick BI à MaxCompute.

Par exemple, dans le champ Quota Computing Resource Group, saisissez maxqa (le nom du quota MaxQA).

Guandata BI

  1. Ajouter un pilote.

    Téléchargez MaxCompute JDBC Driver v3.8.5 ou version ultérieure vers Guandata BI. Pour plus d'informations, consultez les rubriques MaxCompute JDBC et Release Notes.

    1. Dans le coin supérieur droit de la console Guandata BI, cliquez sur l'icône image pour accéder au Management Center.

    2. Cliquez sur System Settings > General Settings, puis accédez à la page Drivers and Connectors.

    3. Sur l'onglet Driver Management, cliquez sur Add Driver, saisissez un Driver Name et enregistrez la configuration.

    4. Cliquez sur le nom du nouveau pilote. Dans la section Driver List, cliquez sur Upload File pour télécharger le pilote MaxCompute JDBC. Ensuite, sélectionnez com.aliyun.odps.jdbc.OdpsDriver pour Driver et cliquez sur Apply.

  2. Créer un compte de données pour se connecter à la source de données MaxCompute à l'aide de MaxQA.

    1. Dans la barre de menus supérieure, cliquez sur Data Preparation.

    2. Dans le volet de gauche, cliquez sur l'onglet Data Account. Dans le coin supérieur droit, cliquez sur New Data Account et configurez le compte comme indiqué.

      Paramètre

      Description

      Sélectionner le connecteur

      Sélectionnez MaxCompute.

      Configurer le compte de données

      Méthode de connexion

      Sélectionnez JDBC URL.

      ID de connexion

      L'AccessKey ID de votre compte Alibaba Cloud.

      Clé de connexion

      L'AccessKey Secret de votre compte Alibaba Cloud.

      JDBC URL

      Le format de l'URL pour la chaîne de connexion JDBC MaxQA est le suivant : jdbc:odps:<maxcompute_endpoint>?project=<maxcompute_projectName>&charset=UTF-8&interactiveMode=true&quotaName=<your_quota_nickName>&autoSelectLimit=1000000000.

      Le tableau suivant décrit les paramètres.

      • maxcompute_endpoint : l'endpoint de la région où se trouve le service MaxCompute. Pour plus d'informations, consultez la rubrique Endpoint. Par exemple, l'endpoint de la région Chine (Hangzhou) est https://service.cn-hangzhou.maxcompute.aliyun.com/api.

      • maxcompute_projectName : le nom du projet MaxCompute, par exemple maxqatomax.

      • your_quota_nickName : le nom du groupe de quotas interactifs à utiliser, par exemple maxfor1. Pour savoir comment créer un groupe de quotas interactifs, consultez la rubrique Gestion des quotas - Ressources de calcul.

      Exemple :

      jdbc:odps:https://service.cn-hangzhou.maxcompute.aliyun.com/api?project=maxqatomax&charset=UTF-8&interactiveMode=true&quotaName=maxfor1&autoSelectLimit=1000000000

      Version SQL

      Sélectionnez 2.0/hive compatibility mode.

      Nombre maximal de connexions

      La valeur par défaut est 16.

      driver

      Sélectionnez Custom, puis sélectionnez le pilote que vous avez créé.

    3. Cliquez sur Test Connection. Une fois le message Connection Successful affiché, cliquez sur Next.

    4. Confirmez les informations du compte de données, saisissez un Display Name personnalisé, puis cliquez sur Confirm and Create.

SQL Workbench/J

Dans la configuration du profil, modifiez l'URL JDBC pour activer MaxQA dans SQL Workbench/J. Pour plus d'informations, consultez la rubrique Configurer SQL Workbench/J à l'aide de JDBC.

  • Format de l'URL :

    jdbc:odps:<MaxCompute_endpoint>?
    project=<MaxCompute_project_name>&charset=UTF-8&interactiveMode=true&quotaName=<your_quota_group_name>&autoSelectLimit=1000000000"

    Paramètre

    Obligatoire

    Description

    MaxCompute_endpoint

    Oui

    L'endpoint de la région du service MaxCompute. Pour plus d'informations, consultez la rubrique Endpoint. Par exemple, pour la région Chine (Hangzhou), l'endpoint est https://service.cn-hangzhou.maxcompute.aliyun.com/api.

    MaxCompute_project_name

    Oui

    Le nom du projet MaxCompute, par exemple maxqatomax.

    your_quota_group_name

    Oui

    Le nom du groupe de quotas interactifs que vous souhaitez utiliser, par exemple maxfor1.

  • Exemple d'URL :

    jdbc:odps:https://service.cn-hangzhou.maxcompute.aliyun.com/api?project=maxqatomax&charset=UTF-8&interactiveMode=true&quotaName=maxfor1&autoSelectLimit=1000000000

Utilisation du Java SDK

Pour plus d'informations sur le Java SDK, consultez la rubrique Présentation du Java SDK.

  1. Configurez la dépendance POM dans Maven. Le code suivant fournit un exemple.

    <dependency>
      <groupId>com.aliyun.odps</groupId>
      <artifactId>odps-sdk-core</artifactId>
      <version>${Latest Version}</version>
    </dependency>
    Important

    Dans le code ci-dessus, Latest Version est un espace réservé. Vous devez le remplacer par un numéro de version spécifique du SDK pour compiler correctement le projet. Consultez le référentiel central Maven pour afficher toutes les versions publiées d'odps-sdk-core. Nous vous recommandons d'utiliser la dernière version. Le format du numéro de version est X.X.X-public.

  2. Créez un programme Java. Le code suivant fournit un exemple.

    import com.aliyun.odps.Odps;
    import com.aliyun.odps.OdpsException;
    import com.aliyun.odps.account.Account;
    import com.aliyun.odps.account.AliyunAccount;
    import com.aliyun.odps.sqa.ExecuteMode;
    import com.aliyun.odps.sqa.SQLExecutor;
    import com.aliyun.odps.sqa.SQLExecutorBuilder;
    import java.util.HashMap;
    import java.util.Map;
    public class MaxCompute {
        public static void main(String args[]) {
            // Set the account and project information.
            // An AccessKey ID of an Alibaba Cloud account has permissions to call all API operations. This is a high-risk operation. We recommend that you create and use a RAM user to call API operations or perform routine O&M. To create a RAM user, log on to the RAM console.
            // In this example, the AccessKey ID and AccessKey Secret are stored in environment variables. You can also store them in a configuration file based on your business needs.
            // We strongly recommend that you do not hard-code the AccessKey ID and AccessKey Secret in your code. This poses a security risk.
            Account account = new AliyunAccount(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),
                            System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
            Odps odps = new Odps(account);
            odps.setDefaultProject("maxqatomax");
            odps.setEndpoint("https://service.cn-hangzhou.maxcompute.aliyun.com/api");
            // Prepare to build the SQLExecutor.
            SQLExecutorBuilder builder = SQLExecutorBuilder.builder();
            SQLExecutor sqlExecutor = null;
            try {
                // Create an executor that uses MaxQA mode by default.
                // enableMcqaV2(true) enables MaxQA mode
                sqlExecutor = builder.odps(odps)
                        .executeMode(ExecuteMode.INTERACTIVE)
                        .quotaName("maxfor1")
                        .enableMcqaV2(true)
                        .build();
                // If needed, you can pass custom settings for the query.
                Map<String, String> queryHint = new HashMap<>();
                queryHint.put("odps.sql.mapper.split.size", "128");
                // Submit a query job. You can pass hints.
                sqlExecutor.run("select count(1) from test_table;", queryHint);
                // The Logview of the current query job.
                System.out.println("Logview:" + sqlExecutor.getLogView());
                // The instance ID of the current query job.
                System.out.println("InstanceId:" + sqlExecutor.getQueryId());
            } catch (OdpsException e) {
                e.printStackTrace();
            } finally {
                if (sqlExecutor != null) {
                    // Close the executor to release resources.
                    sqlExecutor.close();
                }
            }
        }
    }

Utilisation de PyODPS

PyODPS v0.12.1 et versions ultérieures prennent en charge MaxQA. Le code suivant fournit un exemple.

import os
from odps import ODPS
# Set the account and project information.
# Make sure that the ALIBABA_CLOUD_ACCESS_KEY_ID and ALIBABA_CLOUD_ACCESS_KEY_SECRET 
# environment variables are set to your AccessKey ID and AccessKey Secret.
# We do not recommend that you use the AccessKey ID and AccessKey Secret strings directly.
o = ODPS(
    os.getenv('ALIBABA_CLOUD_ACCESS_KEY_ID'),
    os.getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET'),
    project='maxto****',
    endpoint='https://service.cn-hangzhou.maxcompute.aliyun.com/api',
)
# If needed, you can pass custom settings for the query.
hints = {"odps.sql.mapper.split.size": "128"}
inst = o.execute_sql_interactive(
    'select count(1) from test_table',
    use_mcqa_v2=True,
    quota_name='maxfor1',
    # Set quota_name to the name of the interactive quota group for the MaxQA instance.
    hints=hints,
)
# The Logview of the current query job.
print(inst.get_logview_address())
# The instance ID of the current query job.
print(inst.id)
# Read data row by row.
with inst.open_reader() as reader:
    result = [res.values for res in reader]

Utilisation de PyODPS avec SQLAlchemy ou d'autres outils tiers prenant en charge SQLAlchemy pour l'accélération des requêtes

PyODPS v0.12.2 et versions ultérieures permettent d'interroger les données MaxCompute via MaxQA à l'aide de SQLAlchemy. Spécifiez les paramètres suivants dans la chaîne de connexion.

Paramètre

Obligatoire

Description

interactive_mode=v2

Oui

Interrupteur principal de la fonctionnalité d'accélération des requêtes.

quota_name=<YOUR_INTERACTIVE_QUOTA_GROUP_NAME>

Oui

Le nom du groupe de quotas interactifs.

reuse_odps=true

Non

Active la réutilisation forcée de la connexion. Pour certains outils tiers, tels qu'Apache Superset, cette option peut améliorer les performances.

Par exemple, la chaîne de connexion suivante active MaxQA et la réutilisation forcée de la connexion.

odps://<access_id>:<ACCESS_KEY>@<project>/?endpoint=<endpoint>&quota_name=<YOUR_INTERACTIVE_QUOTA_GROUP_NAME>&interactive_mode=v2&reuse_odps=true

Vérifier si un job utilise le mode MaxQA

À partir de la page Logview

Une fois un job terminé, accédez à sa page Logview pour vérifier qu'il s'est exécuté en mode MaxQA. Vérifiez les éléments suivants :

  • L'InstanceId MaxCompute se termine par _mcqa.

  • Le surnom du quota correspond au nom du quota interactif spécifié.

  • Sur l'onglet Summary, le mode d'exécution du job est mcqa 2.0.

À partir de la page Job O&M

  1. Connectez-vous à la console MaxCompute et sélectionnez une région dans le coin supérieur gauche.

  2. Dans le volet de navigation de gauche, accédez à Observation O&M > Jobs.

  3. Sur la page Jobs, cliquez sur l'onglet Regular Job List et définissez le Job Type sur MCQA2 pour afficher les jobs MaxQA dans une Time Range spécifiée.