O mecanismo MaxQA (MaxCompute Query Accelerator) otimiza o desempenho de consultas para cenários de quase tempo real. Ele opera em um pool de recursos de computação de consultas dedicado e otimiza o plano de controle, o otimizador de consultas, o mecanismo de execução, o mecanismo de armazenamento e o mecanismo de cache. O MaxQA é ideal para cenários de BI, análise interativa e data warehouses de quase tempo real que exigem baixa latência e alta estabilidade.
Disponibilidade do service
Cronograma de disponibilidade por região
Região | Disponibilidade geral |
China (Hangzhou) | 24 de novembro de 2025 |
China (Shanghai) | |
China (Beijing) | |
China (Shenzhen) | |
China (Ulanqab) | |
China (Hong Kong) | 27 de novembro de 2025 |
Japan (Tokyo) | |
Singapore | |
Indonesia (Jakarta) | |
Germany (Frankfurt) | |
US (Silicon Valley) | |
US (Virginia) | |
UAE (Dubai) |
Observações
Os novos grupos de cota interativa usam o modo MaxQA por padrão. As instâncias MaxQA existentes não são afetadas.
Operações básicas do MaxQA
Crie uma instância MaxQA
O MaxQA está disponível apenas para projetos do MaxCompute que utilizam o método de faturamento por assinatura. Para criar uma instância MaxQA:
Faça login no MaxCompute console e selecione uma região no canto superior esquerdo.
No painel de navegação à esquerda, escolha .
Na página Quotas, clique em Quota Configuration na coluna Actions da cota de destino.
-
Configuração básica
Na página Quota Configuration, selecione a guia Basic Configurations e clique em Edit Basic Configurations.
-
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 o uso de um nome relacionado aos atributos do seu negócio para distinguir várias instâncias.
As cotas Interactive são dedicadas à execução de jobs de aceleração de consultas (MaxQA).
Clique em OK.
Após criar a instância, o status do grupo de cota interativa correspondente muda para Starting. Aguarde de 5 a 8 minutos até que o status mude para Running. Em seguida, você poderá usar a instância.
Exclua uma instância MaxQA
Na página Quotas, clique em Quota Configuration na coluna Actions da cota de destino.
Na página Quota Configuration, selecione a guia Basic Configurations e, em seguida, clique em Delete na coluna Actions da cota interativa de destino.
A exclusão é executada em segundo plano. A página não exibe atualizações de status nem o progresso da exclusão.
Dimensione uma instância MaxQA
Você pode aumentar ou reduzir a escala de um grupo de cota interativa de acordo com as necessidades do seu negócio:
Na página Quotas, clique em Quota Configuration na coluna Actions da cota de destino.
Na página Quota Configuration, selecione a guia Basic Configurations e clique em Edit Basic Configurations.
-
Clique em Add Level-2 Quota e ajuste as Reserved CUs [minCU,maxCU] do grupo de cota interativa que você deseja expandir ou recolher. Um valor maior indica uma expansão, e um valor menor indica uma redução.
NotaO incremento mínimo para CUs é 25.
A CU mínima deve ser de pelo menos 25. Para garantir a 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:
As Elastically Reserved CUs não são suportadas para cotas interativas.
Para garantir o desempenho e a estabilidade da aceleração de consultas, defina a CU mínima igual à CU máxima em uma cota interativa.
-
Clique em OK.
O ajuste das CUs reservadas para o grupo de cota interativa será iniciado.
Scaling Out ou Scaling In aparece na coluna Actions do grupo de cota interativa. A expansão leva de 5 a 8 minutos. A redução pode levar mais tempo, dependendo de quando os jobs em execução forem concluídos. No pior cenário, o sistema pode precisar aguardar o tempo limite dos jobs nas máquinas que estão sendo removidas antes que a operação de redução seja iniciada. Seus jobs não são afetados durante as operações de dimensionamento.
Configure o dimensionamento baseado em tempo para o MaxQA
Você pode configurar um plano de dimensionamento baseado em tempo para o dimensionamento agendado:
Na página Quotas, clique em Quota Configuration na coluna Actions da cota de destino.
Na página Quota Configuration, selecione a guia Scaling Configuration.
-
Configurar um plano de dimensionamento baseado em tempo
Na guia 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.
-
Para modificar um plano de configuração existente:
Na guia Scaling Configuration, clique em Edit na coluna Actions do plano de destino para atualizá-lo.
-
Configurar um agendamento baseado em tempo
Na guia Scaling Configuration, clique em Edit Time Plan na seção Scheduled Scaling Management.
-
Clique em Add Effective Period e, em seguida, selecione um Effective start time e um Configuration Plan.
Isso permite ativar diferentes planos de configuração de cota em diferentes horários do dia. Para obter mais informações, consulte Manage compute resources and quotas.
Política de agendamento
Ao enviar um job, especifique o nome do grupo de cota interativa 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 em lote. Ative a política de fallback das seguintes maneiras:
JDBC (versão 3.10.7 ou posterior): O fallback é ativado por padrão. Defina disableFallback para desativá-lo e use fallbackQuota para especificar a cota de destino.
Java SDK:
MaxQAConnInfo.builder().fallbackInfo(FallbackInfo.enable("<offline_quota>")).build()DataWorks: Configure as regras de fallback nas configurações de agendamento do DataStudio. Para obter mais informações, consulte Using DataWorks DataStudio.
Métodos de acesso
Você pode acessar o MaxQA pelos seguintes métodos:
Uso do cliente MaxCompute
Instale e configure o cliente MaxCompute (odpscmd) v0.51.1 ou posterior. Para mais informações, consulte Connect by using a local client (odpscmd).
-
No diretório
confda instalação do cliente, modifique o arquivoodps_config.iniadicionando o seguinte comando na última linha.-- Enable MaxQA connection information caching. enable_interactive_mode=true enable_quota_cache=true(Optional) -
Execute o arquivo de script no diretório
binpara iniciar o cliente MaxCompute.ImportantePara sistemas Linux/macOS: Execute o arquivo de script
odpscmd.Windows: Clique duas vezes no arquivo
odpscmd.bat.
-
Antes de executar um job, execute o comando a seguir. Os jobs subsequentes do cliente serão executados no modo MaxQA no grupo de cotas interativas correspondente.
USE QUOTA <name_of_the_interactive_quota_group>;
Uso do DataWorks DataStudio
O MaxQA é compatível apenas com workspaces que usam a nova versão do DataStudio, atualmente em preview público. Se você estiver usando uma versão anterior do DataStudio, será necessário fazer o upgrade para a nova versão para usar o MaxQA. Para mais informações, consulte Enable the new version of DataStudio.
Faça login no console do DataWorks e selecione uma região no canto superior esquerdo.
No painel de navegação à esquerda, escolha .
Em Select Workspace, clique em Go to Data Studio.
Na página Data Development, clique em Run Configuration à direita .
-
Na página Debugging Configurations, selecione o recurso do 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:
NotaAmbiente de execução: Os jobs são executados no módulo de análise ou desenvolvimento de dados. O fallback de interativo para offline não se aplica.
Ambiente de execução de fallback: Os jobs são executados no módulo de agendamento. Se o modo interativo for especificado, você também poderá configurar o fallback para o modo offline quando o modo interativo falhar.
Seleção de cota de computação
Cota / Regra de roteamento especificada
Modo de execução esperado
Configuração de agendamento e fallback esperado
Cota padrão do projeto
Se existir uma regra de roteamento offline, a regra de roteamento entrará em vigor. As 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 do MaxQA que corresponde ao grupo de cotas interativas.
Em Scheduling Configuration: se o fallback estiver desativado, nenhuma tentativa de fallback será feita; se a cota padrão do projeto for selecionada, a cota padrão do projeto será usada para o fallback (as regras de roteamento offline não se aplicam no fallback); se uma cota específica for selecionada, a cota offline especificada será usada para o fallback.
Regra de roteamento do modo interativo
Existem apenas regras de roteamento offline. Nenhuma regra de roteamento interativo correspondente é encontrada.
Um erro é relatado:
Cannot find MCQA quota to start connection on project *****. Para criar uma, consulte Using quotas for computing resources.Se o fallback estiver desativado, nenhuma tentativa de fallback será feita; se a cota padrão do projeto for selecionada, a cota padrão do projeto será usada para o fallback; se uma cota específica for selecionada, a cota offline especificada será usada para o fallback.
Regra de roteamento do modo interativo
Existe uma regra de roteamento interativo correspondente.
Os jobs são executados na instância do MaxQA que corresponde ao grupo de cotas interativas.
Após concluir a configuração, os jobs no nó SQL serão agendados para a instância do MaxQA que corresponde ao grupo de cotas interativas.
Para mais informações, consulte Create a MaxCompute SQL node in DataWorks.
Uso do SQL Analysis no console
Faça login no console do MaxCompute e selecione uma região no canto superior esquerdo.
No painel de navegação à esquerda, escolha .
Após inserir suas instruções SQL no editor SQL, clique em Run Configurations à direita para configurar o Project e a Computing Quota.
Selecione os recursos de computação que correspondem ao grupo de cotas interativas.
Após concluir a configuração, os jobs na página SQL Analysis serão agendados para a instância do MaxQA que corresponde ao grupo de cotas interativas.
Para mais informações, consulte SQL Analysis.
Uso do MaxCompute Studio
Certifique-se de ter instalado o MaxCompute Studio e de tê-lo conectado ao seu projeto MaxCompute. Para usar o MaxQA, execute um script:
Instale e configure o MaxCompute Studio v4.3.2 ou posterior. Para mais informações, consulte Install MaxCompute Studio.
Crie um projeto do MaxCompute Studio e conecte-o ao seu projeto MaxCompute. Para mais informações, consulte Manage project connections.
Crie um script SQL do MaxCompute no projeto. Para mais informações, consulte Develop and submit an SQL script.
-
No script SQL do MaxCompute, insira instruções SQL. Na lista suspensa Execution Mode, selecione MaxQA.
-
Clique no botão Specify additional parameters
, insira o nome do grupo de cotas interativas e clique em OK. Execute o script. O job agora usa o recurso de aceleração de consultas do MaxQA.
Uso de JDBC
Para ativar o MaxQA ao se conectar ao MaxCompute usando JDBC: Para mais informações sobre conexões JDBC, consulte User guide.
Baixe o source com suporte ao MaxQA.
-
Configure a dependência POM no Maven.
<dependency> <groupId>com.aliyun.odps</groupId> <artifactId>odps-jdbc</artifactId> <version>${Latest Version}</version> </dependency>ImportanteNo código anterior,
Latest Versioné um espaço reservado. Substitua-o por um número de versão específico do SDK para compilar o projeto com êxito. Acesse 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 da versão é X.X.X. -
Crie um programa Java a partir do source, 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"aName=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"aName=your_quota_group_name&enableLimit=false&enableOdpsLogger=true
|
Parâmetro |
Descrição |
|
MaxCompute_endpoint |
O endpoint da região onde o service 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 |
|
quotaName |
O nome do grupo de cotas interativas que você deseja usar. |
|
enableLimit |
Especifica se permite o download de mais de 10.000 linhas de dados. |
|
enableOdpsLogger |
Ativa a impressão de logs. Recomendado se o SLF4J não estiver configurado. |
Uso de ferramentas de BI
Você pode se conectar 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 ativar 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"aName=<your_quota_group_name>&autoSelectLimit=1000000000Parâmetro
Obrigatório
Descrição
MaxCompute_endpoint
Sim
O endpoint da região onde o service MaxCompute está localizado. Para mais informações, consulte Endpoints. 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 cotas interativas, 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"aName=maxfor1&autoSelectLimit=1000000000
Quick BI
Faça login no console do Quick BI.
No painel de navegação à esquerda, selecione Data Sources e, no canto superior direito, clique em Create Data Source.
Na página Create data source, selecione MaxCompute.
Na página Configure connection, em Quota computing resource group, insira o nome do recurso de computação da MaxQA Quota para ativar o recurso MaxQA e usar os recursos de computação do MaxQA. Para mais informações, consulte Quick BI connection to MaxCompute.
Por exemplo, no campo Quota Computing Resource Group, insira maxqa (o nome da MaxQA Quota).
Guandata BI
-
Adicione um driver.
Faça o upload do MaxCompute JDBC Driver v3.8.5 ou posterior para o Guandata BI. Para mais informações, consulte MaxCompute JDBC e Release Notes.
No canto superior direito do console do Guandata BI, clique no ícone
para acessar o Management Center.Clique em System Settings > General Settings e acesse a página Drivers and Connectors.
Na aba Driver Management, clique em Add Driver, insira um Driver Name e salve a configuração.
Clique no nome do novo driver. Na seção Driver List, clique em Upload File para fazer o upload do driver JDBC do MaxCompute. Em seguida, selecione com.aliyun.odps.jdbc.OdpsDriver para Driver e clique em Apply.
-
Crie uma conta de dados para se conectar à fonte de dados do MaxCompute usando o MaxQA.
Na barra de menu superior, clique em Data Preparation.
-
No painel à esquerda, clique na aba Data Account. No canto superior direito, clique em New Data Account e configure a conta conforme as instruções.
Parâmetro
Descrição
Selecionar conector
Selecione MaxCompute.
Configurar conta de dados
Método de conexão
Selecione JDBC URL.
ID de logon
O AccessKey ID da sua conta Alibaba Cloud.
Chave de logon
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"aName=<your_quota_nickName>&autoSelectLimit=1000000000.A tabela a seguir descreve os parâmetros.
maxcompute_endpoint: O endpoint da região onde o service MaxCompute está localizado. Para mais informações, consulte Endpoints. 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, comomaxqatomax.your_quota_nickName: O nome do grupo de cotas interativas a ser usado, comomaxfor1. Para obter informações sobre como criar um grupo de cotas interativas, consulte Computing resource - Quota management.
Exemplo:
jdbc:odps:https://service.cn-hangzhou.maxcompute.aliyun.com/api?project=maxqatomax&charset=UTF-8&interactiveMode=true"aName=maxfor1&autoSelectLimit=1000000000Versão do SQL
Selecione 2.0/hive compatibility mode.
Máximo de conexões
O valor padrão é 16.
driver
Selecione Custom e, em seguida, selecione o driver que você criou.
Clique em Test Connection. Após a exibição da mensagem Connection Successful, clique em Next.
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 ativar 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"aName=<your_quota_group_name>&autoSelectLimit=1000000000Parâmetro
Obrigatório
Descrição
MaxCompute_endpoint
Sim
O endpoint da região do service MaxCompute. Para mais informações, consulte Endpoints. 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 cotas interativas 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"aName=maxfor1&autoSelectLimit=1000000000
Uso do Java SDK
Para mais informações sobre o Java SDK, consulte Java SDK introduction.
-
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>ImportanteNo código anterior,
Latest Versioné um espaço reservado. Você deve substituí-lo por um número de versão específico do SDK para compilar o projeto com êxito. Acesse 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 da versão é X.X.X-public. -
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 versões posteriores oferecem suporte ao 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 com SQLAlchemy para aceleração de consultas
O PyODPS v0.12.2 e versões posteriores oferecem suporte à consulta de dados do MaxCompute por meio do MaxQA usando o SQLAlchemy. Especifique os seguintes parâmetros na string de conexão.
|
Parâmetro |
Obrigatório |
Descrição |
|
interactive_mode=v2 |
Sim |
A chave principal para o recurso de aceleração de consultas. |
|
quota_name=<YOUR_INTERACTIVE_QUOTA_GROUP_NAME> |
Sim |
O nome do grupo de cotas interativas. |
|
reuse_odps=true |
Não |
Ativa 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 string de conexão a seguir ativa o MaxQA e a reutilização forçada de conexão.
odps://<access_id>:<ACCESS_KEY>@<project>/?endpoint=<endpoint>"a_name=<YOUR_INTERACTIVE_QUOTA_GROUP_NAME>&interactive_mode=v2&reuse_odps=true
Como verificar se um job usa o modo MaxQA
A partir da 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 o seguinte:
O InstanceId do MaxCompute termina com
_mcqa.O apelido da cota é o nome da cota interativa especificada.
Na aba Summary, o modo de execução do job é
mcqa 2.0.
A partir da página Job O&M
Faça login no console do MaxCompute e selecione uma região no canto superior esquerdo.
No painel de navegação à esquerda, escolha .
Na página Jobs, clique na aba Regular Job List e defina Job Type como MCQA2 para visualizar os jobs do MaxQA dentro de um Time Range especificado.