我知道这个问题已在几年前被问过,但我仍然想知道使用SparkSQL / HiveContext的真正目的。
Spark方法提供了一种比内置MapReduce更通用的分布式方法。
我读了很多文章声称MR方式已经死了,Spark是最好的(我知道我可以通过Spark实现MR方法)。
当建议使用HiveContext查询数据时,我有点困惑。
确实,从SparkSQL / HiveContext运行查询并不意味着它运行MR作业?是不是要回到主要问题?如果我不需要将查询结果封装在更复杂的代码中,那么TEZ是不是应该这样做?
我错了(我确定我是:-))?
答案 0 :(得分:1)
确实,从SparkSQL / HiveContext运行查询并不意味着它正在运行MR作业吗?
没有。事实上,使用HiveContext
或SparkSession
使用" Hive支持"除了使用Hive Metastore之外,并不意味着与Hive有任何联系。许多其他系统(ETL解决方案和数据库)都使用此方法。
最后: