AnalyticDB for MySQL prend en charge l'exécution de Spark SQL selon deux modes : batch et interactif. Ces deux modes se connectent directement au service de métadonnées d'AnalyticDB for MySQL, ce qui vous permet de lire et d'écrire dans les bases de données et tables d'AnalyticDB for MySQL. Cette rubrique décrit les notes d'utilisation, les cas d'usage, les fonctionnalités et les procédures de démarrage pour ces deux modes d'exécution.
Exécution par lot (batch)
Notes d'utilisation
Lorsque vous exécutez du code SQL en mode batch, commencez par l'instruction
USE <database_name>;pour sélectionner une base de données.Lorsque vous spécifiez une table dans une instruction SQL, vous devez utiliser le format
database_name.table_name.Lorsque vous exécutez des instructions DML, DDL ou DQL en mode batch, le système renvoie uniquement un statut de réussite ou d'échec, et non les données. Une exécution réussie imprime un échantillon des résultats dans le journal. Pour afficher les données renvoyées par une instruction SQL, consultez la rubrique Afficher les informations de l'application Spark.
Cas d'usage
Exécution de plusieurs instructions SQL interdépendantes.
Application d'une isolation stricte des ressources pour les instructions SQL.
Traitement de données à grande échelle, comme l'exécution ponctuelle d'un job ETL avec SQL.
Téléchargement et itération sur des packages de dépendances tiers complexes.
Fonctionnalités
Le code SQL soumis en mode batch s'exécute dans une application Spark dédiée, garantissant ainsi sa stabilité.
Prise en charge des paramètres de configuration indépendants définis au sein d'une instruction SQL, tels que
SET spark.sql.adaptive.coalescePartitions.minPartitionSize = 2MB;.Si une instruction SQL batch contient une instruction SELECT, le système imprime un échantillon des résultats dans le journal.
Méthode de démarrage
Dans la SQL Console, sélectionnez un groupe de ressources de job et le moteur Spark, saisissez votre instruction SQL, puis cliquez sur Run Now.
Exécution interactive
Notes d'utilisation
En mode interactif, les instructions DML renvoient un maximum de 1 000 lignes.
Les instructions DDL exécutées en mode interactif, telles que
CREATE TABLE, renvoient uniquement un statut de réussite ou d'échec, et non les données de la table. Ce comportement est conforme aux conventions open source.Le démarrage d'un groupe de ressources interactif Spark prend un certain temps. En cas d'échec du démarrage, patientez quelques instants avant de réessayer.
Cas d'usage
Exécution de requêtes ad hoc ne nécessitant pas l'intégralité du jeu de résultats.
Exécution d'un grand nombre d'instructions DDL.
Exécution immédiate d'instructions DQL dans des environnements où l'isolation des ressources et les échecs occasionnels sont acceptables.
Fonctionnalités
L'isolation des ressources s'effectue au niveau des threads. Plusieurs utilisateurs exécutant du code SQL dans la même application Spark peuvent s'interférer mutuellement.
Vous pouvez appliquer des paramètres de configuration au niveau des threads à l'aide d'instructions SQL.
Les paramètres de configuration au niveau de l'application ne prennent effet qu'après le redémarrage du groupe de ressources interactif Spark. Pour modifier les paramètres au niveau de l'application, vous devez d'abord arrêter le groupe de ressources interactif Spark, configurer les paramètres, puis redémarrer le groupe de ressources interactif Spark.
Méthode de démarrage
Dans la SQL Console, sélectionnez un groupe de ressources interactif Spark et le moteur Spark, saisissez votre instruction SQL, puis cliquez sur Run Now.