Possibilité d'accéder directement aux données Hive existantes
Fournit une interface JDBC/ODBC pour les outils tiers permettant d'utiliser Spark pour le traitement des données
Fournir une interface de niveau supérieur pour faciliter le traitement des données
Prend en charge plusieurs méthodes de fonctionnement : SQL, programmation API
Programmation API : Spark SQL a développé un ensemble d'opérateurs pour les instructions SQL basées sur SQL. Les noms sont similaires aux instructions SQL standard.
Prend en charge plusieurs sources de données externes telles que Parquet, CSV, JSON, RDBMS, Hive, HBase, etc. (Maîtrisez une variété de méthodes de lecture de données)
Spark SQL Core : OuiSchéma RDD(structure de la table opérateur), afin de faciliter notre opération, nous allonsSchéma RDDdélivré àTrame de données
Retour de données : utilisé pour réécrire les données traitées et nettoyées dans Hive pour une analyse et une utilisation ultérieures.
Outils BI : principalement utilisés pour la présentation des données.
Application Spark : les développeurs utilisent Spark Application pour écrire une logique de traitement et d'analyse des données. Ces applications peuvent être écrites dans différents langages de programmation, tels que Python, Scala, Java, etc.
2. Principe de fonctionnement de Spark SQL
Processus en cours d’exécution de l’optimiseur Catalyst :
L'extrémité avant
entrer: Les utilisateurs peuvent saisir la logique de traitement des données via des requêtes SQL ou l'API DataFrame.
Plan logique non résolu (plan logique non résolu): La requête SQL d'entrée ou l'opération de conversion DataFrame sera d'abord convertie en un plan logique non analysé. Ce plan contient toutes les opérations demandées par l'utilisateur, mais les noms de table et de colonne qu'il contient n'ont peut-être pas encore été analysés.
Optimiseur de catalyseur (Optimiseur de catalyseur) L'optimiseur Catalyst est le composant principal de Spark SQL. Il est chargé de convertir les plans logiques en plans d'exécution physique et de les optimiser. L'optimiseur Catalyst comprend les étapes suivantes :
Analyse : Analysez les noms de table et les noms de colonnes dans le plan logique non résolu en métadonnées spécifiques. Cette étape s'appuie sur Catalog (stockage de métadonnées). Le résultat est un plan logique analysé.
Optimisation logique : Effectuer diverses optimisations sur le plan logique analysé, telles que le cisaillement de projection, le refoulement de filtre, etc. Le plan logique optimisé est plus efficace.
Planification physique : Convertir le plan logique optimisé en un ou plusieurs plans d'exécution physique. Chaque plan physique représente une voie d'exécution possible.
Modèle de coût: Évaluez les coûts d'exécution de différents plans physiques et sélectionnez le plan physique le moins cher comme plan physique final.
Back-end
Génération de code : convertit le plan physique sélectionné en opérations RDD pouvant être exécutées sur Spark. Cette étape génère le code d'exécution réel.
RDD: L'opération RDD générée finale est exécutée pour terminer la tâche de traitement de données demandée par l'utilisateur.
Processus d'optimisation d'une requête SQL dans Spark SQL
SELECT name FROM(SELECT id, name FROM people
) p
WHERE p.id =1