Todos os produtos
Search
Central de documentação

AnalyticDB:Desenvolvimento de XIHE BSP SQL

Última atualização: Aug 24, 2026

AnalyticDB for MySQL permite enviar jobs XIHE BSP SQL pelo editor de desenvolvimento SQL ou JDBC. Este tópico descreve os casos de uso, métodos de envio, parâmetros de configuração e perguntas frequentes (FAQ) sobre o desenvolvimento de jobs XIHE BSP SQL.

Pré-requisitos

  • A job resource group is created para o cluster AnalyticDB for MySQL Enterprise Edition, Basic Edition ou Data Lakehouse Edition.

  • Uma conta de banco de dados criada para o cluster AnalyticDB for MySQL Enterprise Edition, Basic Edition ou Data Lakehouse Edition.

Casos de uso

O mecanismo XIHE BSP executa jobs XIHE BSP SQL, adequados para cenários de ETL, consultas grandes e consultas esporádicas de baixa prioridade. Para obter mais informações sobre o mecanismo XIHE BSP, consulte compute engine.

Cenários de ETL

A figura a seguir ilustra um processo típico de ETL.

image

Operações de limpeza e transformação de dados em grandes conjuntos entre uma fonte de dados e a camada ADS geralmente demandam muito tempo. Nesses jobs, o tempo de resposta não é a principal preocupação; o foco é a alta confiabilidade para garantir a conclusão do processo de ELT dentro de um prazo específico. O sistema também precisa oferecer suporte a recursos como novas tentativas automáticas. Execute essas consultas com o mecanismo XIHE BSP para aproveitar seu alto throughput, alta confiabilidade e baixo custo.

Consultas na camada ADS costumam ser mais sensíveis ao tempo de resposta e exigem retornos em segundos ou até milissegundos. Utilize o mecanismo XIHE MPP para executar essas consultas e beneficiar-se de sua maior velocidade.

Consultas grandes para o mecanismo BSP

Devido às limitações do XIHE MPP, algumas consultas grandes podem causar erros de falta de memória (OOM) ou outras exceções. Executá-las no mecanismo XIHE MPP exigiria aumentar o cluster e adicionar mais recursos, o que não é econômico. Nesse caso, utilize o mecanismo XIHE BSP. As consultas são executadas em um grupo de recursos de job especificado e os dados são descarregados em disco, tornando essa abordagem mais adequada para consultas volumosas. Além disso, os recursos de um grupo de recursos de job são solicitados e faturados sob demanda, o que reduz custos.

Consultas esporádicas de baixa prioridade

Consultas de baixa prioridade geralmente não são sensíveis ao tempo de resposta. No entanto, se muitas forem enviadas simultaneamente, poderão consumir recursos do sistema e afetar a execução de outras consultas. Para resolver esse problema, execute essas consultas de baixa prioridade em um grupo de recursos de job usando o mecanismo XIHE BSP. Essa abordagem isola recursos, alivia a pressão sobre o sistema e evita interferência entre as consultas.

Limitações

  • O mecanismo XIHE BSP não oferece suporte à gravação em tabelas Hudi.

  • O mecanismo XIHE BSP não oferece suporte à leitura nem à gravação em tabelas Delta.

Desenvolvimento de jobs XIHE BSP

Desenvolva um job XIHE BSP usando um dos métodos a seguir.

Editor de desenvolvimento SQL

Na página SQL Development, selecione um grupo de recursos de job e o mecanismo XIHE para enviar um job XIHE BSP.

Procedimento

  1. Faça login no console do AnalyticDB for MySQL. No canto superior esquerdo do console, selecione uma região. No painel de navegação à esquerda, clique em Clusters. Localize o cluster desejado e clique em ID do cluster.

  2. Insira a instrução SQL e clique em Execute.

  3. Após a execução da instrução SQL, os resultados aparecem na aba Execution Results.

    Na aba Execution Records, clique em Result na coluna Actions para baixar o resultado da execução.

Envio síncrono

Envie um job XIHE BSP de forma síncrona especificando um grupo de recursos de job em uma dica (hint).

Sintaxe

/*+ resource_group=<resource_group_name>*/ <SQL Statement>;
  • resource_group_name: nome do grupo de recursos de job.

  • SQL Statement: instrução SQL. Adicione uma dica antes de cada instrução.

Exemplo

/*+ resource_group=bsptest*/SELECT count(*) from test_db.ods_hudi;

Envio assíncrono

Envie um job XIHE BSP de forma assíncrona especificando um grupo de recursos de job e um tipo de envio assíncrono em uma dica.

Sintaxe

/*+ resource_group=<resource_group_name>, query_submission_type=async*/ <SQL Statement>;
  • resource_group_name: nome do grupo de recursos de job.

  • query_submission_type=async: especifica que o job é enviado de forma assíncrona.

  • SQL Statement: instrução SQL. Adicione uma dica antes de cada instrução.

Exemplo

/*+ resource_group=bsptest, query_submission_type=async*/SELECT count(*) from test_db.ods_hudi;

Após o envio de um job assíncrono, um job_id é retornado imediatamente. Quando o job for concluído, execute a instrução SHOW job result WHERE job='job_id'; para consultar o resultado da execução. Para obter informações sobre como consultar o status de um job assíncrono, consulte Query the status of an asynchronous job.

Configuração de jobs XIHE BSP

Configure os recursos, o tempo limite padrão e a prioridade de um job XIHE BSP.

Métodos de configuração

Aplique definições de configuração a um único job BSP, a todos os jobs em um grupo de recursos de job específico ou a todos os jobs em um cluster.

Para um único job

Para aplicar uma configuração apenas a um único job, adicione a dica /*+ resource_group=<resource_group_name>,<config_name>*/ à instrução SQL.

Na dica, resource_group_name é o nome do grupo de recursos e config_name é um parâmetro da lista Configuration parameters.

Exemplo: Para limitar um job no grupo de recursos de job chamado bsptest a um máximo de 20 ACUs:

/*+ resource_group=bsptest,elastic_job_max_acu=20*/SELECT count(*) from test_db.ods_hudi;

Para um grupo de recursos

Para aplicar uma configuração a todos os jobs executados em um grupo de recursos de job, execute a instrução SET adb_config <resource_group_name>.<config_name>.

Na instrução, resource_group_name é o nome do grupo de recursos e config_name é um parâmetro da lista Configuration parameters.

Exemplo: Este comando limita cada job executado no grupo de recursos de job chamado bsptest a um máximo de 20 ACUs.

SET adb_config bsptest.elastic_job_max_acu=20;

Verificar a configuração

Para confirmar que a configuração foi aplicada ao grupo de recursos, execute a instrução SHOW ADB_CONFIG KEY=<resource_group_name>.<config_name>.

Para um cluster

Para aplicar uma configuração a todos os jobs executados em um cluster, execute a instrução SET adb_config <config_name>. config_name é um parâmetro da lista Configuration parameters.

Exemplo: Este comando limita cada job executado no cluster a um máximo de 20 ACUs.

SET adb_config elastic_job_max_acu=20;

Verificar a configuração

Para confirmar que a configuração foi aplicada ao cluster, execute a instrução SHOW ADB_CONFIG KEY=<config_name>.

Parâmetros

A tabela a seguir descreve os parâmetros configuráveis para jobs XIHE BSP.

Categoria

Parâmetro

Descrição

Padrão

Recurso

elastic_job_max_acu

Número máximo de ACUs que um único job XIHE BSP pode utilizar, incluindo o AppMaster e os nós de computação.

O valor não pode exceder o número máximo de ACUs alocadas ao grupo de recursos.

Nota

O AppMaster é um nó responsável por analisar consultas, agendar e executar jobs.

9

Tempo limite

batch_query_timeout

Tempo limite para um job BSP, em milissegundos (ms). Se a execução ultrapassar esse valor, o sistema cancela o job automaticamente.

7200000

Prioridade

query_priority

Define a prioridade do job BSP.

Valores válidos: HIGH, NORMAL, LOW e LOWEST.

Para mais detalhes sobre a fila de prioridade, consulte Priority queue of a job resource group.

NORMAL

FAQ

Visualizar status do job BSP

  • Se você enviou o job BSP pelo editor de desenvolvimento SQL, acesse a página Job Editor > SQL Development e visualize o status do job na aba Execution Records.

  • Caso tenha utilizado outros métodos de envio, consulte o status na tabela information_schema.kepler_meta_elastic_job_list executando a seguinte instrução:

    SELECT status FROM information_schema.kepler_meta_elastic_job_list WHERE process_id='<job_id>';
    Nota

    A tabela information_schema.kepler_meta_elastic_job_list armazena até 1.000 jobs BSP enviados nos últimos 30 dias. É possível realizar análises estatísticas adicionais, como agregações, nessa tabela. O exemplo abaixo mostra como contar o número de jobs BSP por estado:

    SELECT status,count(*) FROM information_schema.kepler_meta_elastic_job_list GROUP BY status;

Envio síncrono versus assíncrono

Os envios síncrono e assíncrono oferecem os mesmos recursos. A única diferença reside na necessidade de o cliente aguardar a conclusão da consulta.

O envio assíncrono apresenta as seguintes limitações:

  • Um conjunto de resultados pode conter no máximo 10.000 linhas.

  • Até 1.000 conjuntos de resultados, incluindo links para download de arquivos CSV, são retidos por até 30 dias.

Recomenda-se o envio assíncrono para consultas longas e intensivas em computação que retornam pequenos conjuntos de resultados, como INSERT INTO SELECT, INSERT OVERWRITE SELECT e CREATE TABLE AS SELECT.