本帖最后由 xingoo 于 2016-8-31 16:52 编辑
Hive是基于Hadoop的mapreduce来对hdfs做查询;
Hive on Tez 是有人觉得mapreduce性能不好,于是用Tez替换mapreduce;
shark是替换了编译器,让Hive最终能运行在spark上,但是对hive的侵入太大了;
hive on spark是在把执行引擎替换成了spark,并针对rdd提供一系列的转换;
spark sql则是仅仅用了hql,后面的解释器、编译器全都替换了.....
不过我上网搜了很多的帖子,“hive on spark”很多都是在spark上面去用hive,比如:
http://blog.csdn.net/yeruby/article/details/51448188
我想问下,官方提供的Hive on spark(替换执行引擎),跟博客里面说的(在spark里面跑hive),有什么不同?谁更好一些?
[mw_shl_code=applescript,true]val hiveContext = new HiveContext(sc)
import hiveContext._
hql("CREATE TABLE IF NOT EXIST src(key INT, value STRING)")
hql("LOAD DATA LOCAL PATH '/Users/urey/data/input2.txt' INTO TABLE src")
hql("FROM src SELECT key, value").collect().foreach(println)[/mw_shl_code]
|