[英]Spark HiveContext : Spark Engine OR Hive Engine?
我正在嘗試了解spark hiveContext
。 當我們使用hiveContext
編寫查詢時
sqlContext=new HiveContext(sc)
sqlContext.sql("select * from TableA inner join TableB on ( a=b) ")
使用Spark Engine還是Hive Engine? 我相信上述查詢可以通過Spark Engine執行。 但是如果是這樣,為什么我們需要數據框?
我們可以在sqlContext.sql("")
盲目復制所有配置單元查詢,並且無需使用數據sqlContext.sql("")
運行。
對於DataFrames,我的意思是像這樣的TableA.join(TableB, a === b)
我們甚至可以使用SQL命令執行聚合。 請問有人可以澄清一下這個概念嗎? 如果使用數據sqlContext.sql()
連接而不是sqlContext.sql()
連接有什么好處? 加入只是一個例子。 :)
Spark HiveContext在下面使用Spark執行引擎,請參見spark代碼 。
spark中的解析器支持是可插入的,HiveContext使用spark的HiveQuery解析器。
從功能上講,您可以使用sql進行所有操作,並且不需要數據框。 但是數據幀提供了一種獲得相同結果的便捷方法。 用戶不需要編寫SQL語句。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.