Revenir au contenu principal

Spark SQL

Essayer Gratuitement Databricks

De nombreux data scientists, des analystes – et plus généralement beaucoup d'utilisateurs de business intelligence – s'appuient sur les requêtes SQL pour explorer des données. Spark SQL est un module Spark conçu pour le traitement de données structurées. Il apporte une couche d'abstraction programmatique appelée DataFrames et peut également faire office de moteur de requêtes SQL distribué. Il permet d'exécuter les requêtes Hadoop Hive 100 fois plus vite sur les déploiements et données existants, sans modification. Il apporte également un haut niveau d'intégration avec le reste de l'écosystème Spark (notamment en intégrant le traitement des requêtes SQL au machine learning).

Qu'est-ce qu'Apache Spark SQL ?

Spark SQL apporte une prise en charge native de SQL à Spark et uniformise le processus d'interrogation des données stockées à la fois dans les RDD (les datasets distribués de Spark) et dans des sources externes. Spark SQL possède l'avantage pratique d'estomper la frontière entre les RDD et les tables relationnelles. Grâce à l'unification de ces deux abstractions puissantes, les développeurs peuvent désormais utiliser des commandes SQL pour interroger des données externes et procéder à des analyses complexes, au sein d'une même application. Concrètement, Spark SQL permet aux développeurs de :

  • Importer des données relationnelles depuis des fichiers Parquet et des tables Hive
  • Exécuter des requêtes SQL sur des données importées et des RDD existants
  • Rédiger facilement des RDD à partir de tables Hive ou de fichiers Parquet

Spark SQL comprend également un optimiseur de coût, un dispositif de stockage en colonne et un outil de génération de code pour accélérer la création de requêtes. Dans le même temps, il est capable de prendre en compte des milliers de nœuds et des requêtes de plusieurs heures grâce au moteur Spark, qui assure une tolérance totale aux défaillances en cours de requête. Autrement dit, vous n'avez pas besoin d'utiliser un autre moteur pour les données historiques.  

Ressources complémentaires

Retour au glossaire