Spark为结构化数据处理引入了一个称为Spark SQL的编程模块。简而言之,sparkSQL是Spark的前身,是在Hadoop发展过程中,为了给熟悉RDBMS但又不理解MapReduce的技术人员提供快速上手的工具。
sparkSQL提供了一个称为
DataFrame(数据框)的编程抽象,DF的底层仍然是
RDD,并且可以充当分布式
SQL查询引擎。
SparkSql有哪些特点呢?
1)引入了新的
RDD类型Schema
RDD,可以像传统数据库定义表一样来定义Schema
RDD。
2)在应用程序中可以混合使用不同来源的数据,如可以将来自
HiveQL的数据和来自
SQL的数据进行Join操作。
3)内嵌了查询优化框架,在把
SQL解析成逻辑执行计划之后,最后变成
RDD的计算。