2015-04-12 70 views
1

我正在考慮一個項目的Apache Spark(java),但是這個項目需要數據處理框架來支持嵌套迭代。我還沒有找到任何確認,它是否支持它? 另外,有沒有使用嵌套迭代的例子?與Apache Spark的嵌套迭代?

謝謝!

+2

您能否舉一個例子所需的迭代能力? – maasg

+0

我有一組空間數據,我想找到密集區域。該空間事先在固定大小的「單元格」中被分類。 然後,對於每個密集單元格(第1次迭代),從最密集的單元開始,該算法嘗試將其與鄰近單元(嵌套迭代)一起擴展,直到獲得單元格的密度在閾值以下。完成後,將使用的單元格從輸入集中移除,並且嵌套最密集的單元格被擴展 – Ben

+0

我對地理空間處理不熟悉,但聽起來像是可以在Spark中實現的東西。退房https://github.com/geotrellis/geotrellis – maasg

回答

4

幾乎可以做任何事情,但問題是什麼適合執行模式足以打擾。 Spark的操作本質上是平行的,而不是迭代的。也就是說,一些操作與一堆數據並行發生,而不是每個片斷順序發生(然後再發生)。

但是,Spark(驅動程序)程序只是一個程序,可以在本地執行任何您想要的操作。當然,嵌套循環或任何你喜歡的就像在任何scala程序中一樣完美。

我想你可能會使用Spark操作進行bucketing過程並計算每個存儲桶的摘要統計信息,但另外在驅動程序本地運行邏輯的其餘部分。

所以這個過程是:

  • 廣播桶裝方案
  • 桶按照分佈式的操作,方案
  • 小總結統計拉到駕駛員
  • 更新桶裝方案,並再次發送
  • 重複...
+0

謝謝,你有這樣的例子嗎?我會在今天看看:) – Ben