2017-08-28 116 views
1

我一直在經歷Spark中的Ignite SharedRDD並希望瞭解Spark-Ignite作業中涉及的底層執行層/階段。Apache Spark所有權與Ignite所有權

ScalarSharedRDDExample.scala

  • 做如下轉型執行在哪裏?

VAL DF = transformedValues.sql( 「從整數選擇_val其中_val < 100和_val> 9」)

  • 如何火花並點燃劃分火花的所有權應用?

(誰負責什麼?)

  • 什麼是建設火花點燃應用的最佳實踐?

回答

1

一切仍然按照過去的方式執行。 IgniteRDD實現爲分佈式Ignite緩存的視圖,該緩存可以在Spark作業執行過程中,也可以在Spark工作器中或在其自己的羣集中部署。

根據其網站上的信息,共享狀態可能只存在於Spark應用程序(嵌入模式)的生命週期中,或者可能超出Spark應用程序(獨立模式),在這種情況下,狀態可能是在多個Spark中共享。

欲瞭解更多信息查詢官方網站 Shared Apache Spark RDDs

又看了一些記錄使用情況,有助於更好地理解。

Distributed Database Key-Value Store

見代碼例如,IgniteContext從sparkContext創建。

val igniteContext = new IgniteContext(sparkContext, 
    () => new IgniteConfiguration()) 

希望這會有所幫助!乾杯!

+1

雖然IgniteRDD是AbstractRDD的實現,但該查詢的SQL計劃將由Ignite而不是Spark SQL生成。 (參考 - https://www.youtube.com/watch?v=ou2Kxy2PNWU)我想知道星火是如何理解由Ignite準備的總體規劃? –

+1

我相信Ignite SQL將由Ignite Cache Query執行。 https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/IgniteCache.html#query(org.apache.ignite.cache.query.Query).. –

+0

我想我們在使用IgniteRDD時從基礎的Spark基礎設施獲取信息,感謝分享youtube視頻會看到它。即使我仍然在學習: - ) –

0

以下轉換在哪裏執行?

SQL在Ignite節點上執行。

火花和點燃如何劃分火花應用程序的所有權?

你可以閱讀一下here

什麼是建設火花點燃應用的最佳實踐?

Ignite可以提供共享存儲,因此狀態可以從一個Spark應用程序或作業傳遞到另一個。

的Ignite可以爲用戶提供索引SQL使SQL星火可以在1000倍,加速(火花不會索引數據)

當文件,而不是RDDS,Apache的點燃內存中的文件系統工作(胰島素樣生長因子)也可以在Spark作業和應用程序之間共享狀態。

那麼,最佳實踐是一個太寬泛的問題 - 我認爲您需要從Ignite Example開始,並詢問某個問題是否會遇到任何問題。