火花SQL

回到术语表
许多数据科学家、分析师和一般商业智能用户依赖交互式SQL查询来探索数据。Spark SQL是一个火花模块用于结构化数据处理。它提供了一种名为DataFrames的编程抽象,还可以充当分布式SQL查询引擎。它启用未修改的HadoopHive查询在现有部署和数据上运行速度快100倍。它还提供了与Spark生态系统其他部分的强大集成(例如,将SQL查询处理与机器学习集成)。

什么是Apache Spark SQL?

Spark SQL为Spark带来了对SQL的本地支持,并简化了查询存储在rdd (Spark的分布式数据集)和外部数据源中的数据的过程。Spark SQL方便地模糊了rdd和关系表之间的界限。统一这些强大的抽象使开发人员可以很容易地将查询外部数据的SQL命令与复杂的分析混合在一起,所有这些都在一个应用程序中。具体来说,Spark SQL将允许开发人员:
  • 从Parquet文件和Hive表导入关系数据
  • 对导入的数据和现有rdd运行SQL查询
  • 轻松地将rdd写入Hive表或Parquet文件
Spark SQL还包括基于成本的优化器、柱状存储和代码生成,以提高查询速度。同时,它可以使用Spark引擎扩展到数千个节点和多个小时的查询,Spark引擎提供了完整的查询中间容错,而不必担心使用不同的引擎来处理历史数据。

额外的资源


回到术语表