[英]Spark DataFrame vs sqlContext
出於比較的目的,假設我們有一個表“T”,其中有兩列“A”,“B”。 我們還在一些HDFS數據庫中運行了一個hiveContext。 我們制作一個數據框:
從理論上講,以下哪項更快:
sqlContext.sql("SELECT A,SUM(B) FROM T GROUP BY A")
要么
df.groupBy("A").sum("B")
其中“df”是指向T的數據幀。對於這些簡單類型的聚合操作,有沒有理由為什么一個方法應該優先於另一個?
不,這些應該歸結為相同的執行計划。 Spark SQL引擎下面使用了相同的優化引擎,催化劑優化器。 您可以通過查看spark UI,甚至在生成的DataFrame上調用explain
來自行檢查。
Spark開發人員已經做出了很大的優化。 DataFrame Scala和DataFrame SQL之間的性能無法區分。 即使對於DataFrame Python,不同的是將數據收集到驅動程序時。
它開辟了一個新的世界
我們可以選擇我們喜歡的方式
databricks發布的性能比較
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.