2017-02-23 76 views
0

Flink中的DataSet上的異步I/O的等效項是什麼?對於DataStream其基本上是AsyncDataStreamApache Flink中DataSet的異步I/O

在map函數中執行阻塞調用嗎?

他們的最佳實踐?

+0

我有20K遠程流,我必須每分鐘進行HTTP GET調用並處理結果。我的第一個想法是映射所有流並進行HTTP調用。但是,由於地圖調用被阻止,這不是很好。我想讓地圖調用並行,因此它可以在羣集中使用我的多個工作人員 – Jay

回答

1

我會用一個RichMapPartitionFunction來實現它,它提供了一個迭代器來控制輸入和一個收集器來發出結果。

由於DataSet API不需要與檢查點機制集成,並且遵守記錄和時間戳的順序,因此不應該涉及實現,儘管MapPartitionFunction不提供任何異步工具。

+0

RichMapPartitionFunction是否可以在羣集中的其他工作人員上並行運行? – Jay

+0

是的,它Flink將每個分區放入單獨的'mapPartition()'函數調用中。並行處理所有分區。 –