概述
Spark也想有一个产品,能提供SQL查询接口,把你输入的SQL语句,转换成Spark应用程序,然后对底层数据进行分析
初期就出现了Shark,它就是Hive on Spark,完全是Hive的引进版,就把底层做了些修改
本来Hive就是针对MapReduce开发的,所以添加对Spark的一些优化策略较困难
后来出现了Spark SQL,兼容Hive,但是又可以支持很多其他的数据库的一些类型
Spark SQL又新增了一个数据抽象,DataFrame
DataFrame可以理解为一张关系数据库的表。所以在SparkSQL当中,我们就可以去执行SQL语句,因为DataFrame本身就是包含结构化信息的
Spark SQL的优点
数据封装到DataFrame的结构后可以很方便地调用后期的机器学习算法库