Spark SQL
Muitos data scientists, analistas e usuários em geral de business intelligence usam queries SQL para explorar dados. O Spark SQL é um módulo do Spark projetado para processamento de dados estruturados. Ele oferece uma camada de abstração na programação chamada DataFrames e também pode funcionar como um mecanismo distribuído de queries SQL. Permite que queries não modificadas do Hadoop Hive sejam executadas até 100 vezes mais rápido em implantações e dados existentes. Além disso, ele oferece um alto nível de integração com o restante do ecossistema Spark, como a integração do processamento de queries SQL com machine learning.
O que é o Apache Spark SQL?
O Spark SQL oferece compatibilidade nativa com o SQL no Spark, simplificando o processamento de queries de dados armazenados em RDDs (conjuntos de dados distribuídos do Spark) e fontes externas. Spark SQL facilita a integração entre RDDs e tabelas relacionais. Essa integração de abstrações poderosas permite que os desenvolvedores misturem facilmente comandos SQL que consultam dados externos com análises complexas em um único aplicativo. Especificamente, o Spark SQL permite que os desenvolvedores:
- Importem dados relacionais de arquivos Parquet e tabelas Hive
- Executem queries SQL em dados importados e RDDs existentes
- Exportem RDDs facilmente para tabelas Hive e arquivos Parquet
O Spark SQL possui um otimizador baseado em custo, armazenamento em colunas, geração de código e muito mais para acelerar suas queries. Ele também escala para milhares de nós e horas de queries usando o mecanismo Spark. Isso oferece melhor tolerância a falhas durante a execução da query e não exige que você use um mecanismo diferente para seus dados históricos.