Spark HiveContext:火花发动机或蜂巢发动机



我试图理解Spark hiveContext。当我们使用 hiveContext编写查询时

sqlContext=new HiveContext(sc)
sqlContext.sql("select * from TableA inner join TableB on ( a=b) ")

是使用火花发动机还是蜂巢发动机?我相信上面的查询将使用Spark Engine执行。但是,如果那样的话,为什么我们需要数据框架?

我们可以盲目地复制sqlContext.sql("")中的所有Hive查询并在不使用数据框架的情况下运行。

通过dataframes,我的意思是像这样的 TableA.join(TableB, a === b)我们甚至可以使用SQL命令执行聚合。有人可以澄清一下这个概念吗?如果使用dataFrame加入而不是sqlContext.sql()加入有任何优势?加入只是一个例子。:)

spark hivecontext使用火花执行引擎,请参见火花代码。

Spark中的解析器支持是可插的,HiveContext使用Spark的Hivequery Parser。

在功能上,您可以使用SQL进行所有操作,并且不需要数据范围。但是数据范围为实现相同结果提供了一种方便的方法。用户不需要编写SQL语句。

相关内容

  • 没有找到相关文章

最新更新