Todos os produtos
Search
Central de documentação

MaxCompute:Aceleração de Consultas MaxQA

Última atualização: Sep 15, 2026

O mecanismo MaxQA (MaxCompute Query Accelerator) otimiza o desempenho de consultas em cenários quase em tempo real. Ele opera em um pool dedicado de recursos de computação para consultas e aprimora o plano de controle, o otimizador de consultas, o mecanismo de execução, o mecanismo de armazenamento e o sistema de cache. O MaxQA é ideal para cenários de BI, análise interativa e data warehouses quase em tempo real que exigem baixa latência e alta estabilidade.

Disponibilidade do serviço

Cronograma de disponibilidade por região

Região

Beta público

Disponibilidade geral

China (Hangzhou)

17 de fevereiro de 2025

24 de novembro de 2025

China (Shanghai)

China (Beijing)

China (Shenzhen)

China (Ulanqab)

China (Hong Kong)

5 de março de 2025

27 de novembro de 2025

Japan (Tokyo)

5 de março de 2025

Singapore

20 de março de 2025

Indonesia (Jakarta)

Germany (Frankfurt)

31 de março de 2025

US (Silicon Valley)

US (Virginia)

Observações

Os novos grupos de cota interativos usam o modo MaxQA por padrão. As instâncias MaxQA existentes não são afetadas.

Operações básicas do MaxQA

Criar uma instância MaxQA

O MaxQA está disponível apenas para projetos do MaxCompute com faturamento por assinatura. Para criar uma instância MaxQA:

  1. Faça login no console do MaxCompute e selecione uma região no canto superior esquerdo.

  2. No painel de navegação à esquerda, escolha Manage Configurations > Quotas .

  3. Na página Quotas, clique em Quota Configuration na coluna Actions da cota desejada.

  4. Configuração básica

    1. Na página Quota Configuration, selecione a aba Basic Configurations e clique em Edit Basic Configurations.

    2. Clique em Add Level-2 Quota, insira um Quota Name e selecione Interactive para o Type.

      • Ao usar o MaxQA, especifique um Quota Name. Recomendamos usar um nome relacionado aos atributos do seu negócio para distinguir entre múltiplas instâncias.

      • As cotas Interactive são dedicadas à execução de jobs de aceleração de consultas (MaxQA).

  5. Clique em OK.

Após a criação da instância, o status do grupo de cota interativo correspondente muda para Starting. Aguarde de 5 a 8 minutos até que o status mude para Running. Em seguida, use a instância.

Excluir uma instância MaxQA

  1. Na página Quotas, clique em Quota Configuration na coluna Actions da cota desejada.

  2. Na página Quota Configuration, selecione a aba Basic Configurations e clique em Delete na coluna Actions da cota interativa alvo.

A exclusão ocorre em segundo plano. A página não exibe atualizações de status ou progresso da exclusão.

Dimensionar uma instância MaxQA

Aumente ou reduza um grupo de cota interativo conforme as necessidades do seu negócio:

  1. Na página Quotas, clique em Quota Configuration na coluna Actions da cota desejada.

  2. Na página Quota Configuration, selecione a aba Basic Configurations e clique em Edit Basic Configurations.

  3. Clique em Add Level-2 Quota e ajuste os Reserved CUs [minCU,maxCU] do grupo de cota interativo que deseja dimensionar. Um valor maior indica aumento de escala; um valor menor indica redução.

    Nota
    • O incremento mínimo para CUs é 25.

    • A CU mínima deve ser pelo menos 25. Para garantir estabilidade, defina a CU mínima como 50 ou mais. Se os recursos interativos não forem necessários, defina o valor como 0 ou exclua o grupo de cota.

    • Limitação de cota interativa:

      • Não há suporte para Elastically Reserved CUs em cotas interativas.

      • Para assegurar o desempenho e a estabilidade da aceleração de consultas, defina a CU mínima igual à CU máxima em uma cota interativa.

  4. Clique em OK.

    O ajuste das CUs reservadas para o grupo de cota interativo será iniciado.

Scaling Out ou Scaling In aparece na coluna Actions do grupo de cota interativo. O aumento de escala leva cerca de 5 a 8 minutos. A redução pode demorar mais, dependendo da conclusão dos jobs em execução. No pior cenário, o sistema pode precisar aguardar o tempo limite dos jobs nas máquinas removidas antes de iniciar a operação de redução. Seus jobs não são afetados durante as operações de dimensionamento.

Configurar dimensionamento baseado em tempo para o MaxQA

Configure um plano de dimensionamento baseado em tempo para escalonamento agendado:

  1. Na página Quotas, clique em Quota Configuration na coluna Actions da cota desejada.

  2. Na página Quota Configuration, selecione a aba Scaling Configuration.

  3. Configure um plano de dimensionamento baseado em tempo

    1. Na aba Scaling Configuration, clique em Add Configuration Plan. Na caixa de diálogo Add Configuration Plan, insira um Configuration Plan Name e configure as Reserved CUs [minCU,maxCU] para a cota de nível 2.

    2. Para modificar um plano de configuração existente:

      Na aba Scaling Configuration, clique em Edit na coluna Actions do plano alvo para atualizá-lo.

  4. Configure um cronograma baseado em tempo

    1. Na aba Scaling Configuration, clique em Edit Time Plan na seção Scheduled Scaling Management.

    2. Clique em Add Effective Period e selecione um Effective start time e um Configuration Plan.

      Isso permite ativar diferentes planos de configuração de cota em horários distintos do dia. Para mais informações, consulte Manage compute resources and quotas.

Política de agendamento

Ao enviar um job, especifique o nome do grupo de cota interativo no cliente ou na string de conexão JDBC. O job será então agendado para execução na instância MaxQA correspondente.

Política de fallback

O MaxQA suporta uma política de fallback. Quando ativada, as tarefas do MaxQA que falham devido a exceções do sistema retornam automaticamente ao modo batch. Habilite a política de fallback das seguintes maneiras:

  • JDBC (versão 3.10.7 ou posterior): O fallback está habilitado por padrão. Defina disableFallback para desativá-lo e use fallbackQuota para especificar a cota alvo.

  • Java SDK: MaxQAConnInfo.builder().fallbackInfo(FallbackInfo.enable("<offline_quota>")).build()

  • DataWorks: Configure regras de fallback nas configurações de agendamento do DataStudio. Para mais informações, consulte Using DataWorks DataStudio.

Métodos de acesso

Acesse o MaxQA pelos seguintes métodos:

Uso do cliente MaxCompute

  1. Instale e configure o cliente MaxCompute (odpscmd) v0.51.1 ou posterior. Para mais informações, consulte Connect by using a local client (odpscmd).

  2. No diretório conf da instalação do cliente, modifique o arquivo odps_config.ini adicionando o seguinte comando na última linha.

    -- Enable MaxQA connection information caching.
    enable_interactive_mode=true
    enable_quota_cache=true(Optional) 
  3. Execute o arquivo de script no diretório bin para iniciar o cliente MaxCompute.

    Importante
    • Para sistemas Linux/macOS: Execute o arquivo de script odpscmd.

    • Windows: Clique duas vezes no arquivo odpscmd.bat.

  4. Antes de executar um job, rode o comando a seguir. Os jobs subsequentes do cliente serão executados no modo MaxQA no grupo de cota interativo correspondente.

    USE QUOTA <name_of_the_interactive_quota_group>;

Uso do DataWorks DataStudio

Importante

O MaxQA é suportado apenas em workspaces que utilizam a nova versão do DataStudio, atualmente em preview público. Se você estiver usando uma versão anterior do DataStudio, atualize para a nova versão para usar o MaxQA. Para mais informações, consulte Enable the new version of DataStudio.

  1. Faça login no console do DataWorks e selecione uma região no canto superior esquerdo.

  2. No painel de navegação à esquerda, escolha Data Development and O&M > Data Development.

  3. Select Workspace e clique em Go to Data Studio.

  4. Na página Data Development, clique em Run Configuration à direita .

  5. Na página Debugging Configurations, selecione o recurso de projeto MaxCompute vinculado a este workspace para Computing Resource. A tabela a seguir descreve como selecionar a cota de computação para cada cenário:

    Nota
    • Ambiente de execução: Jobs executados no módulo de análise de dados ou desenvolvimento de dados. O fallback de interativo para offline não se aplica.

    • Ambiente de execução de fallback: Jobs executados no módulo de agendamento. Se o modo interativo for especificado, também é possível configurar o fallback para o modo offline quando o modo interativo falhar.

    Seleção de Cota de Computação

    Cota Especificada / Regra de Roteamento

    Modo de Execução Esperado

    Configuração de Agendamento e Fallback Esperado

    Cota padrão do projeto

    Se existir uma regra de roteamento offline, ela terá efeito. Regras de roteamento interativo não se aplicam.

    A cota padrão do projeto é uma cota offline. Os jobs são executados na cota offline.

    Os jobs são executados na cota offline. O fallback não se aplica.

    Cota especificada

    Selecione uma cota offline.

    Os jobs são executados na cota offline.

    Os jobs são executados na cota offline. O fallback não se aplica.

    Cota especificada

    Selecione uma cota interativa.

    Os jobs são executados na instância MaxQA correspondente ao grupo de cota interativo.

    Na Configuração de Agendamento: se o fallback estiver desabilitado, nenhuma tentativa é feita; se a cota padrão do projeto for selecionada, ela será usada para fallback (regras de roteamento offline não se aplicam no fallback); se uma cota específica for selecionada, a cota offline especificada será usada para fallback.

    Regra de roteamento de modo interativo

    Existem apenas regras de roteamento offline. Nenhuma regra de roteamento interativo correspondente foi encontrada.

    Um erro é reportado: Cannot find MCQA quota to start connection on project *****. Para criar uma, consulte Using quotas for computing resources.

    Se o fallback estiver desabilitado, nenhuma tentativa é feita; se a cota padrão do projeto for selecionada, ela será usada para fallback; se uma cota específica for selecionada, a cota offline especificada será usada para fallback.

    Regra de roteamento de modo interativo

    Existe uma regra de roteamento interativo correspondente.

    Os jobs são executados na instância MaxQA correspondente ao grupo de cota interativo.

  6. Após concluir a configuração, os jobs no nó SQL serão agendados para a instância MaxQA correspondente ao grupo de cota interativo.

Para mais informações, consulte Create a MaxCompute SQL node in DataWorks.

Uso do SQL Analysis no console

  1. Faça login no console do MaxCompute e selecione uma região no canto superior esquerdo.

  2. No painel de navegação à esquerda, escolha Data Exploration > SQL Analysis.

  3. Após inserir suas instruções SQL no editor SQL, clique em Run Configurations à direita para configurar o Project e a Computing Quota.

  4. Selecione os recursos de computação correspondentes ao grupo de cota interativo.

  5. Após concluir a configuração, os jobs na página SQL Analysis serão agendados para a instância MaxQA correspondente ao grupo de cota interativo.

Para mais informações, consulte SQL Analysis.

Uso do MaxCompute Studio

Certifique-se de ter instalado o MaxCompute Studio e conectado-o ao seu projeto MaxCompute. Para usar o MaxQA, execute um script:

  1. Instale e configure o MaxCompute Studio v4.3.2 ou posterior. Para mais informações, consulte Install MaxCompute Studio.

  2. Crie um projeto no MaxCompute Studio e conecte-o ao seu projeto MaxCompute. Para mais informações, consulte Manage project connections.

  3. Crie um script SQL do MaxCompute no projeto. Para mais informações, consulte Develop and submit an SQL script.

  4. No script SQL do MaxCompute, insira as instruções SQL. Na lista suspensa Execution Mode, selecione MaxQA.

  5. Clique no botão Specify additional parameters image, insira o nome do grupo de cota interativo e clique em OK.

  6. Execute o script. O job agora usa o recurso de aceleração de consultas MaxQA.

Uso de JDBC

Para habilitar o MaxQA ao conectar-se ao MaxCompute via JDBC: Para mais informações sobre conexões JDBC, consulte User guide.

  1. Baixe o código-fonte com suporte ao MaxQA.

  2. Configure a dependência POM no Maven.

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

    No código acima, Latest Version é um espaço reservado. Substitua-o por um número de versão específico do SDK para compilar o projeto com sucesso. Visite o GitHub Releases para visualizar todas as versões lançadas do odps-jdbc. Recomendamos o uso da versão mais recente. O formato do número de versão é X.X.X.

  3. Crie um programa Java a partir do código-fonte, adaptando-o para o seu ambiente. Para mais informações, consulte MaxCompute JDBC. O código a seguir fornece um exemplo.

    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();
        }
    }

O código a seguir mostra um exemplo de string de conexão 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

Parâmetro

Descrição

MaxCompute_endpoint

O endpoint da região onde o serviço MaxCompute está localizado. Para mais informações, consulte Endpoints.

MaxCompute_project_name

O nome do projeto MaxCompute.

interactiveMode

O alternador para o recurso MaxQA. Defina como true para habilitar.

quotaName

O nome do grupo de cota interativo que você deseja usar.

enableLimit

Especifica se é permitido baixar mais de 10.000 linhas de dados.

enableOdpsLogger

Habilita a impressão de logs. Recomendado se o SLF4J não estiver configurado.

Uso de ferramentas de BI

Conecte-se ao MaxQA usando ferramentas de BI como Tableau, Quick BI, Guandata BI e SQL Workbench/J .

Tableau

Adicione a propriedade interactiveMode=true e a propriedade quotaName=your_quota_nick_name ao caminho da URL do servidor para habilitar o recurso MaxQA. Recomendamos também adicionar a propriedade enableOdpsLogger=true para imprimir logs. Para etapas detalhadas, consulte Configure JDBC to use Tableau.

  • Formato da URL:

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

    Parâmetro

    Obrigatório

    Descrição

    MaxCompute_endpoint

    Sim

    O endpoint da região onde o serviço MaxCompute está localizado. Para mais informações, consulte Endpoint. Por exemplo, o endpoint para a região China (Hangzhou) é https://service.cn-hangzhou.maxcompute.aliyun.com/api.

    MaxCompute_project_name

    Sim

    O nome do projeto MaxCompute, como maxqatomax.

    your_quota_group_name

    Sim

    O nome do grupo de cota interativo, como maxfor1.

    Na aba General da caixa de diálogo de conexão Alibaba MaxCompute, insira a URL construída no campo Server. Insira seu AccessKey ID no campo Username e seu AccessKey Secret no campo Password. Em seguida, clique em Sign In.

  • Exemplo de URL:

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

Quick BI

  1. Faça login no console do Quick BI.

  2. No painel de navegação à esquerda, selecione Data Sources e, no canto superior direito, clique em Create Data Source.

  3. Na página Create data source, selecione MaxCompute.

  4. Na página Configure connection, em Quota computing resource group, insira o nome do recurso de computação da Cota MaxQA para habilitar o recurso MaxQA e usar seus recursos de computação. Para mais informações, consulte Quick BI connection to MaxCompute.

Por exemplo, no campo Quota Computing Resource Group, insira maxqa (o nome da Cota MaxQA).

Guandata BI

  1. Adicione um driver.

    Carregue o MaxCompute JDBC Driver v3.8.5 ou posterior no Guandata BI. Para mais informações, consulte MaxCompute JDBC e Release Notes.

    1. No canto superior direito do console Guandata BI, clique no ícone image para acessar o Management Center.

    2. Clique em System Settings > General Settings e acesse a página Drivers and Connectors.

    3. Na aba Driver Management, clique em Add Driver, insira um Driver Name e salve a configuração.

    4. Clique no nome do novo driver. Na seção Driver List, clique em Upload File para carregar o driver JDBC do MaxCompute. Em seguida, selecione com.aliyun.odps.jdbc.OdpsDriver para Driver e clique em Apply.

  2. Crie uma conta de dados para conectar-se à fonte de dados MaxCompute usando o MaxQA.

    1. Na barra de menu superior, clique em Data Preparation.

    2. No painel à esquerda, clique na aba Data Account. No canto superior direito, clique em New Data Account e configure a conta conforme solicitado.

      Parâmetro

      Descrição

      Selecionar conector

      Selecione MaxCompute.

      Configurar conta de dados

      Método de conexão

      Selecione JDBC URL.

      Logon ID

      O AccessKey ID da sua conta Alibaba Cloud.

      Logon Key

      O AccessKey Secret da sua conta Alibaba Cloud.

      JDBC URL

      O formato da URL para a string de conexão JDBC do MaxQA é o seguinte: jdbc:odps:<maxcompute_endpoint>?project=<maxcompute_projectName>&charset=UTF-8&interactiveMode=true&quotaName=<your_quota_nickName>&autoSelectLimit=1000000000.

      A tabela a seguir descreve os parâmetros.

      • maxcompute_endpoint: O endpoint da região onde o serviço MaxCompute está localizado. Para mais informações, consulte Endpoint. Por exemplo, o endpoint para a região China (Hangzhou) é https://service.cn-hangzhou.maxcompute.aliyun.com/api.

      • maxcompute_projectName: O nome do projeto MaxCompute, como maxqatomax.

      • your_quota_nickName: O nome do grupo de cota interativo a ser usado, como maxfor1. Para informações sobre como criar um grupo de cota interativo, consulte Computing resource - Quota management.

      Exemplo:

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

      Versão SQL

      Selecione 2.0/hive compatibility mode.

      Conexões máximas

      O valor padrão é 16.

      driver

      Selecione Custom e escolha o driver criado.

    3. Clique em Test Connection. Após a mensagem Connection Successful aparecer, clique em Next.

    4. Confirme as informações da conta de dados, insira um Display Name personalizado e clique em Confirm and Create.

SQL Workbench/J

Na configuração do perfil, modifique a URL JDBC para habilitar o MaxQA no SQL Workbench/J. Para mais informações, consulte Configure SQL Workbench/J by using JDBC.

  • Formato da URL:

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

    Parâmetro

    Obrigatório

    Descrição

    MaxCompute_endpoint

    Sim

    O endpoint da região do serviço MaxCompute. Para mais informações, consulte Endpoint. Por exemplo, para a região China (Hangzhou), o endpoint é https://service.cn-hangzhou.maxcompute.aliyun.com/api.

    MaxCompute_project_name

    Sim

    O nome do projeto MaxCompute, como maxqatomax.

    your_quota_group_name

    Sim

    O nome do grupo de cota interativo que você deseja usar, como maxfor1.

  • Exemplo de URL:

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

Uso do Java SDK

Para mais informações sobre o Java SDK, consulte Java SDK introduction.

  1. Configure a dependência POM no Maven. O código a seguir mostra um exemplo.

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

    No código acima, Latest Version é um espaço reservado. Substitua-o por um número de versão específico do SDK para compilar o projeto com sucesso. Visite o GitHub Releases para visualizar todas as versões lançadas do odps-sdk-core. Recomendamos o uso da versão mais recente. O formato do número de versão é X.X.X-public.

  2. Crie um programa Java. O código a seguir fornece um exemplo.

    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();
                }
            }
        }
    }

Uso do PyODPS

O PyODPS v0.12.1 e posteriores suportam o MaxQA. O código a seguir mostra um exemplo.

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]

Uso do PyODPS com SQLAlchemy ou outras ferramentas de terceiros compatíveis para aceleração de consultas

O PyODPS v0.12.2 e posteriores suportam a consulta de dados do MaxCompute via MaxQA usando SQLAlchemy. Especifique os seguintes parâmetros na string de conexão.

Parâmetro

Obrigatório

Descrição

interactive_mode=v2

Sim

O interruptor principal para o recurso de aceleração de consultas.

quota_name=<YOUR_INTERACTIVE_QUOTA_GROUP_NAME>

Sim

O nome do grupo de cota interativo.

reuse_odps=true

Não

Habilita a reutilização forçada de conexão. Para algumas ferramentas de terceiros, como o Apache Superset, esta opção pode melhorar o desempenho.

Por exemplo, a seguinte string de conexão habilita o MaxQA e a reutilização forçada de conexão.

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

Verificar se um job usa o modo MaxQA

Pela página Logview

Após a conclusão de um job, acesse sua página Logview para verificar se ele foi executado no modo MaxQA. Verifique os seguintes itens:

  • O InstanceId do MaxCompute termina com _mcqa.

  • O apelido da cota corresponde ao nome da cota interativa especificada.

  • Na aba Summary, o modo de execução do job é mcqa 2.0.

Pela página Job O&M

  1. Faça login no console do MaxCompute e selecione uma região no canto superior esquerdo.

  2. No painel de navegação à esquerda, escolha Observation O&M > Jobs.

  3. Na página Jobs, clique na aba Regular Job List e defina o Job Type como MCQA2 para visualizar os jobs MaxQA dentro de um Time Range especificado.