Spark SQL apporte une prise en charge native de SQL à Spark. Il rationalise le processus d’interrogation des données stockées à la fois dans les RDD (ensembles de données distribués de Spark) et dans des sources externes. Spark SQL brouille commodément les lignes entre les RDD et les tables relationnelles. L’unification de ces puissantes abstractions permet aux développeurs de mélanger facilement des commandes SQL interrogeant des données externes avec des analyses complexes, le tout dans une seule application.
Concrètement, Spark SQL permettra aux développeurs de:
- Interroger des données structurées chargées dans des tables virtuelles en mémoire
- Importer des données relationnelles à partir de fichiers Parquet et de tables Hive
- Exécutez des requêtes SQL sur les données importées et les RDD existants
- Écrire facilement des RDD dans des tables Hive ou des fichiers Parquet
Spark SQL comprend également un optimiseur intégré. Un stockage en colonne (format Parquet) accélère grandement les requêtes. En même temps, Spark SQL peut être mis facilement à l’échelle et offre une tolérance aux pannes complète.