簡體   English   中英

spark-shell和spark-sql有什么區別? 任何性能差異?

[英]What's the difference between spark-shell and spark-sql? Any performance differences?

Spark-shell:基本上打開scala>提示符。 查詢需要以下面的方式編寫

val sqlContext = new org.apache.spark.sql.hive.HiveContext(sc)
// Queries are expressed in HiveQL
sqlContext.sql("FROM src SELECT key, value").collect().foreach(println)

spark-sql:這似乎直接連接到hive Metastore,我們可以像hive一樣編寫查詢。 並查詢hive中的現有數據

我想知道這兩者之間的區別..並且將處理spark-sql中的任何查詢與spark-shell中的相同? 我的意思是我們可以在spark-sql中利用spark的性能優勢嗎?

Spark 1.5.2在這里。

spark-shell為您提供了一個工作的Spark環境,其中Scala是(編程)語言。

spark-sql為您提供了Spark SQL環境,其中SQL是查詢語言。

請注意, spark-shell適用於Spark中可用的任何API,而spark-sql僅適用於Spark SQL API(使用數據集和數據框)。

對於具有不同技能的用戶來說,它們只是不同的界面(Spark / Scala開發人員使用spark-shell ,而SQL開發人員使用spark-sql )。

spark-sql “隱藏”SQL接口背后的Spark基礎架構,它將應該具備的工程技能提高了多少,但最終使用了Spark SQL(以及Spark)中可用的所有優化。

性能明智的spark-sqlspark-shell是相似的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM