簡體   English   中英

Spark 作為執行引擎還是 Spark 作為應用程序?

[英]Spark as execution engine or spark as an application?

哪個選項更好用,spark 作為 hive 上的執行引擎,還是使用 spark SQL 訪問 hive 表? 為什么?

這里有幾個假設:

  • 選擇 SQL 的原因是為了保持用戶友好,例如,如果您有業務用戶嘗試訪問數據。
  • Hive 正在考慮中,因為它提供了類似 SQL 的接口和數據持久性

如果這是真的,Spark-SQL 可能是更好的前進方式。 它更好地集成在 Spark 中,並且作為 Spark 的一個組成部分,它將提供更多功能(一個示例是結構化流)。 您仍將獲得用戶友好性和 SQL 之類的 Spark 接口,因此您將獲得全部好處。 但是您只需要從 Spark 的角度來管理您的系統。 Hive 安裝和管理仍然存在,但從單一角度來看。

將 Hive 與 Spark 作為執行引擎一起使用將使您受到限制,具體取決於 Hive 的庫在將您的 HQL 轉換為 Spark 方面的能力。 他們可能做得很好,但您仍然會失去 Spark SQL 的高級功能。 與 Spark SQL 相比,新功能可能需要更長的時間才能集成到 Hive 中。

此外,由於 Hive 暴露給最終用戶,一些高級用戶或數據工程團隊可能希望訪問 Spark。 這將導致您管理兩個工具。 在這種情況下,與僅使用 Spark-SQL 相比,系統管理可能會變得更加繁瑣,因為 Spark SQL 具有服務於非技術用戶和高級用戶的潛力,即使高級用戶使用 pyspark、spark-shell 或更多,它們仍將被集成在同一個工具集中。

暫無
暫無

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

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