hive是shark的前身,shark是spark sql的前身
hive on spark 是把hive的计算引擎换成spark
shark基于内存计算,比hive快100倍;即使基于磁盘也高10倍。
spark sql又比shark计算性能高出一两个数量级
shark对hive过度依赖,spark sql在hive兼容层面只依赖HQL Parser(解析器)、
Hive Metastore(元数据仓库)和Hive Serde(序列化),
其它都由spark sql 的 Catalyst 接管
spark sql 可以和 spark streaming、MLlib、GraphX等无缝集成,spark一栈式大数据处理平台的理想
spark sql 比 rdd 更加易用,以DataFrame作为基础数据类型。
如何使用:
可以使用CLI终端,但更多的是使用spark-shell,spark-sql,因为最终要写在idea中
CLI终端:和hive的终端类似,可以直接输入sql语句,然后发送到Spark集群进行执行。
启动:
[root@hadoop01 ~]# spark-sql
spark-sql>
然后就可以执行sql语句了,如:
show database;
show tables;
create table test1(id int,name string);
insert into test1 values (1,'a'),(2,'b'),(3,'c');
select * from test1;
select count(*) from test1;
spark-shell在后面详述
[root@hadoop01 ~]# spark-shell
scala> spark.sql("show databases").show