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:
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 Quotas, clique em Quota Configuration na coluna Actions da cota desejada.
-
Configuração básica
Na página Quota Configuration, selecione a aba 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 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).
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
Na página Quotas, clique em Quota Configuration na coluna Actions da cota desejada.
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:
Na página Quotas, clique em Quota Configuration na coluna Actions da cota desejada.
Na página Quota Configuration, selecione a aba Basic Configurations e clique em Edit Basic Configurations.
-
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.
NotaO 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.
-
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:
Na página Quotas, clique em Quota Configuration na coluna Actions da cota desejada.
Na página Quota Configuration, selecione a aba Scaling Configuration.
-
Configure um plano de dimensionamento baseado em tempo
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.
-
Para modificar um plano de configuração existente:
Na aba Scaling Configuration, clique em Edit na coluna Actions do plano alvo para atualizá-lo.
-
Configure um cronograma baseado em tempo
Na aba Scaling Configuration, clique em Edit Time Plan na seção Scheduled Scaling Management.
-
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
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, 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
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.
Faça login no console do DataWorks e selecione uma região no canto superior esquerdo.
No painel de navegação à esquerda, escolha .
Select Workspace e clique em Go to Data Studio.
Na página Data Development, clique em Run Configuration à direita .
-
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:
NotaAmbiente 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.
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
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 correspondentes ao grupo de cota interativo.
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:
Instale e configure o MaxCompute Studio v4.3.2 ou posterior. Para mais informações, consulte Install MaxCompute Studio.
Crie um projeto no 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 as instruções SQL. Na lista suspensa Execution Mode, selecione MaxQA.
-
Clique no botão Specify additional parameters
, insira o nome do grupo de cota interativo e clique em OK. 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.
Baixe o código-fonte 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 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. -
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"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 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 |
|
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"aName=<your_quota_group_name>&autoSelectLimit=1000000000Parâ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"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 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
-
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.
No canto superior direito do console 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 carregar o driver JDBC do MaxCompute. Em seguida, selecione com.aliyun.odps.jdbc.OdpsDriver para Driver e clique em Apply.
-
Crie uma conta de dados para conectar-se à fonte de dados 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 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"aName=<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, comomaxqatomax.your_quota_nickName: O nome do grupo de cota interativo a ser usado, comomaxfor1. 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"aName=maxfor1&autoSelectLimit=1000000000Versã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.
Clique em Test Connection. Após a mensagem Connection Successful aparecer, 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 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"aName=<your_quota_group_name>&autoSelectLimit=1000000000Parâ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"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 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. -
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>"a_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
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 o Job Type como MCQA2 para visualizar os jobs MaxQA dentro de um Time Range especificado.