Tous les produits
Search
Centre de documentation

AnalyticDB:Développement SQL XIHE BSP

Dernière mise à jour :Aug 24, 2026

AnalyticDB for MySQL permet de soumettre des tâches XIHE BSP SQL via l'éditeur de développement SQL ou JDBC. Cette rubrique décrit les cas d'utilisation, les méthodes de soumission, les paramètres de configuration et la foire aux questions (FAQ) relatives au développement de tâches XIHE BSP SQL.

Prérequis

  • Créez un groupe de ressources de tâche pour le cluster AnalyticDB for MySQL Enterprise Edition, Basic Edition ou Data Lakehouse Edition.

  • Créez un compte de base de données pour le cluster AnalyticDB for MySQL Enterprise Edition, Basic Edition ou Data Lakehouse Edition.

Cas d'utilisation

Le moteur XIHE BSP exécute des tâches XIHE BSP SQL, adaptées aux scénarios ETL, aux requêtes volumineuses et aux requêtes à faible priorité soumises par pics. Pour plus d'informations sur le moteur XIHE BSP, consultez la section moteur de calcul.

Scénarios ETL

La figure suivante illustre un processus ETL typique.

image

Les opérations de nettoyage et de transformation des données sur de grands ensembles, entre une source de données et la couche ADS, prennent souvent beaucoup de temps. Pour ces tâches, le temps de réponse n'est pas prioritaire. En revanche, une fiabilité élevée est indispensable pour garantir l'achèvement du processus ELT avant une échéance donnée. Le système doit également prendre en charge des fonctionnalités telles que les nouvelles tentatives automatiques. Exécutez ces requêtes avec le moteur XIHE BSP pour tirer parti de son débit élevé, de sa fiabilité et de son faible coût.

Les requêtes sur la couche ADS sont généralement plus sensibles aux temps de réponse, qui doivent souvent se compter en secondes, voire en millisecondes. Exécutez ces requêtes avec le moteur XIHE MPP pour bénéficier de sa vitesse supérieure.

Requêtes volumineuses pour le moteur BSP

En raison des limites de XIHE MPP, certaines requêtes volumineuses peuvent provoquer des erreurs de mémoire insuffisante (OOM) ou d'autres exceptions. Pour exécuter ces requêtes sur le moteur XIHE MPP, vous devez augmenter la capacité de votre cluster en ajoutant des ressources, ce qui n'est pas rentable. Dans ce cas, utilisez le moteur XIHE BSP. Les requêtes s'exécutent dans un groupe de ressources de tâche spécifié et déversent les données sur disque, ce qui convient mieux aux requêtes volumineuses. De plus, les ressources d'un groupe de ressources de tâche sont provisionnées et facturées à la demande, ce qui réduit les coûts.

Requêtes à faible priorité soumises par pics

Les requêtes à faible priorité ne sont généralement pas sensibles aux temps de réponse. Toutefois, si un grand nombre de ces requêtes sont soumises simultanément, elles peuvent consommer des ressources système et affecter l'exécution d'autres requêtes. Pour résoudre ce problème, exécutez ces requêtes à faible priorité dans un groupe de ressources de tâche à l'aide du moteur XIHE BSP. Cette approche isole les ressources, atténue la pression sur le système et empêche les requêtes de s'affecter mutuellement.

Limitations

  • Le moteur XIHE BSP ne prend pas en charge l'écriture dans les tables Hudi.

  • Le moteur XIHE BSP ne prend pas en charge la lecture ou l'écriture dans les tables Delta.

Développement de tâches XIHE BSP

Développez une tâche XIHE BSP en utilisant l'une des méthodes suivantes.

Éditeur de développement SQL

Sur la page SQL Development, sélectionnez un groupe de ressources de tâche et le moteur XIHE pour soumettre une tâche XIHE BSP.

Procédure

  1. Connectez-vous à la console AnalyticDB for MySQL. Dans le coin supérieur gauche de la console, sélectionnez une région. Dans le volet de navigation de gauche, cliquez sur Clusters. Recherchez le cluster à gérer et cliquez sur son ID.

  2. Saisissez l'instruction SQL et cliquez sur Execute.

  3. Une fois l'instruction SQL exécutée, les résultats apparaissent dans l'onglet Execution Results.

    Dans l'onglet Execution Records, cliquez sur Result dans la colonne Actions pour télécharger le résultat d'exécution.

Soumission synchrone

Soumettez une tâche XIHE BSP de manière synchrone en spécifiant un groupe de ressources de tâche dans un indice (hint).

Syntaxe

/*+ resource_group=<resource_group_name>*/ <SQL Statement>;
  • resource_group_name : nom du groupe de ressources de tâche.

  • SQL Statement : instruction SQL. Vous devez ajouter un indice avant chaque instruction.

Exemple

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

Soumission asynchrone

Soumettez une tâche XIHE BSP de manière asynchrone en spécifiant un groupe de ressources de tâche et un type de soumission asynchrone dans un indice (hint).

Syntaxe

/*+ resource_group=<resource_group_name>, query_submission_type=async*/ <SQL Statement>;
  • resource_group_name : nom du groupe de ressources de tâche.

  • query_submission_type=async : spécifie que la tâche est soumise de manière asynchrone.

  • SQL Statement : instruction SQL. Vous devez ajouter un indice avant chaque instruction.

Exemple

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

Après avoir soumis une tâche asynchrone, un job_id est immédiatement renvoyé. Une fois la tâche terminée, exécutez l'instruction SHOW job result WHERE job='job_id'; pour interroger le résultat d'exécution. Pour savoir comment interroger l'état d'une tâche asynchrone, consultez la section Interroger l'état d'une tâche asynchrone.

Configuration des tâches XIHE BSP

Configurez les ressources, le délai d'expiration par défaut et la priorité d'une tâche XIHE BSP.

Méthodes de configuration

Appliquez des paramètres de configuration à une seule tâche BSP, à toutes les tâches d'un groupe de ressources de tâche spécifique ou à toutes les tâches d'un cluster.

Pour une seule tâche

Pour qu'une configuration ne s'applique qu'à une seule tâche, ajoutez l'indice /*+ resource_group=<resource_group_name>,<config_name>*/ à l'instruction SQL.

Dans l'indice, resource_group_name correspond au nom du groupe de ressources et config_name est un paramètre issu de la liste des Paramètres de configuration.

Exemple : Pour limiter une tâche du groupe de ressources de tâche nommé bsptest à un maximum de 20 ACU :

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

Pour un groupe de ressources

Pour qu'une configuration s'applique à toutes les tâches exécutées dans un groupe de ressources de tâche, exécutez l'instruction SET adb_config <resource_group_name>.<config_name>.

Dans l'indice, resource_group_name correspond au nom du groupe de ressources et config_name est un paramètre issu de la liste des Paramètres de configuration.

Exemple : Cette commande limite chaque tâche exécutée dans le groupe de ressources de tâche nommé bsptest à un maximum de 20 ACU.

SET adb_config bsptest.elastic_job_max_acu=20;

Vérifier la configuration

Pour vérifier que la configuration est appliquée au groupe de ressources, exécutez l'instruction SHOW ADB_CONFIG KEY=<resource_group_name>.<config_name>.

Pour un cluster

Pour qu'une configuration s'applique à toutes les tâches exécutées dans un cluster, exécutez l'instruction SET adb_config <config_name>. config_name est un paramètre issu de la liste des Paramètres de configuration.

Exemple : Cette commande limite chaque tâche exécutée dans le cluster à un maximum de 20 ACU.

SET adb_config elastic_job_max_acu=20;

Vérifier la configuration

Pour vérifier que la configuration est appliquée au cluster, exécutez l'instruction SHOW ADB_CONFIG KEY=<config_name>.

Paramètres

Le tableau suivant décrit les paramètres configurables pour les tâches XIHE BSP.

Catégorie

Paramètre

Description

Valeur par défaut

Ressource

elastic_job_max_acu

Nombre maximal d'ACU qu'une seule tâche XIHE BSP peut utiliser. Cela inclut à la fois l'AppMaster et les nœuds de calcul.

La valeur ne peut pas dépasser le nombre maximal d'ACU alloués au groupe de ressources.

Remarque

L'AppMaster est un nœud qui analyse les requêtes, planifie et exécute les tâches.

9

Délai d'expiration

batch_query_timeout

Délai d'expiration d'une tâche BSP, en millisecondes (ms). Si une tâche s'exécute au-delà de cette valeur, le système l'annule automatiquement.

7200000

Priorité

query_priority

Priorité de la tâche BSP.

Valeurs valides : HIGH, NORMAL, LOW et LOWEST.

Pour plus d'informations sur la file d'attente de priorité, consultez File d'attente de priorité d'un groupe de ressources de tâche.

NORMAL

FAQ

Afficher l'état des tâches BSP

  • Si vous avez soumis la tâche BSP depuis l'éditeur de développement SQL, accédez à la page Job Editor > SQL Development et consultez l'état de la tâche dans l'onglet Execution Records.

  • Si vous avez soumis la tâche BSP via d'autres méthodes, interrogez son état dans la table information_schema.kepler_meta_elastic_job_list en exécutant l'instruction suivante :

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

    La table information_schema.kepler_meta_elastic_job_list stocke jusqu'à 1 000 tâches BSP soumises au cours des 30 derniers jours. Vous pouvez effectuer d'autres analyses statistiques, telles que l'agrégation, sur cette table. L'exemple suivant montre comment compter le nombre de tâches BSP par état :

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

Soumission synchrone vs asynchrone

La soumission synchrone et la soumission asynchrone offrent les mêmes fonctionnalités. La seule différence réside dans l'attente ou non de la fin de la requête par le client.

La soumission asynchrone présente les limitations suivantes :

  • Un ensemble de résultats peut contenir au maximum 10 000 lignes.

  • Un maximum de 1 000 ensembles de résultats, y compris leurs liens de téléchargement de fichiers CSV, sont conservés pendant une durée maximale de 30 jours.

La soumission asynchrone est recommandée pour les requêtes longues et intensives en calcul qui renvoient de petits ensembles de résultats, telles que INSERT INTO SELECT, INSERT OVERWRITE SELECT et CREATE TABLE AS SELECT.