私はJavaのApacheのビームクラスclassby.sortbytimestampを持っている気づいたpythonは、その機能はまだ実装されていますか?そうでない場合は、ウィンドウ内の要素を並べ替える方法は何ですか? DoFnでウィンドウ全体を並べ替えることができるとわかりましたが、より良い方法があるかどうかを知りたいと思います。どのように私はPythonのApacheのビームでウィンドウ内の要素を注文できますか?
3
A
答えて
6
現在、Beam(PythonまたはJavaのいずれか)に値のソートが組み込まれていません。今のところ、最良の選択肢は、あなたが言及したようなDoFnで自分で値をソートすることです。
1
ここには、CombineFnを使用したソリューションがあります。これには、TreeSetを使用してデータを重複除外するという追加のボーナスがあります。また、ウィンドウのデータが1人の作業者のメモリに収まるように十分小さいことを確認する必要があります。あなたはそのクラスを見つけている
public static class DedupAndSortByTime extends Combine.CombineFn<MarketData, TreeSet<MarketData>, List<MarketData>> {
@Override
public TreeSet<MarketData> createAccumulator() {
return new TreeSet<>(Comparator
.comparingLong(MarketData::getEventTime)
.thenComparing(MarketData::getOrderbookType));
}
@Override
public TreeSet<MarketData> addInput(TreeSet<MarketData> accum, MarketData input) {
accum.add(input);
return accum;
}
@Override
public TreeSet<MarketData> mergeAccumulators(Iterable<TreeSet<MarketData>> accums) {
TreeSet<MarketData> merged = createAccumulator();
for (TreeSet<MarketData> accum : accums) {
merged.addAll(accum);
}
return merged;
}
@Override
public List<MarketData> extractOutput(TreeSet<MarketData> accum) {
return Lists.newArrayList(accum.iterator());
}
}
関連する問題
- 1. PythonのApacheのビームでは、特定の順序で要素を書くことは可能ですか?
- 2. 私はどのようにグリッドパネル上をウィンドウできますか?
- 3. イベントハンドラ内で要素のデフォルトイベントをどのようにトリガできますか?
- 4. @ Html.BeginForm内の要素をjQueryでどのように選択できますか?
- 5. Pythonでキュー内の要素にアクセスするためにどのようにインデックスを使用できますか?
- 6. リスト内のタプル付き要素をPythonで見つけよう
- 7. どのような基準では、Pythonの注文はdict?
- 8. WPFウィンドウ内の要素にアクセスするにはどうすれば変更できますか?
- 9. どのようにselect要素を参照できますか?
- 10. Hyperledgerトランザクションはブロック内でどのように注文されますか?
- 11. どのように私はどのように私はのための要素aを選択することができ、HTMLコードは次の子要素
- 12. コメントはどのように注文するのですか?
- 13. どのように私は税のためのMySQLの表示を行うことができます注文
- 14. フォーム要素の$ validはどのように角度でアクセスできますか?
- 15. Javascriptで新しいウィンドウを開き、そのウィンドウ内の要素をクリックできますか?
- 16. どのようにmysqlの注文文字列ですか?
- 17. 名前付きパイプはどのようにウィンドウ内で動作しますか?
- 18. リスト<string>はどのように注文できますか?
- 19. このmatlabマトリックス要素にはどのようにアクセスできますか?
- 20. Pythonで要素内の特定の要素と文字列を検索する
- 21. どのように私はpythonでデータフレーム内の異なる列に結果を保存できますか?
- 22. 私はランダムに使用すると、pythonがどのように各要素を印刷するのですか?
- 23. DOM要素のXPathはどのようにして決定できますか?
- 24. このスパン要素はどのようにして選択できますか?
- 25. どのように私はクロムのセレクターで要素を得ることができますか?
- 26. 読書は、Googleのデータフロー/でJSONをネストされたApacheのビーム
- 27. オブジェクトのベクトルの要素をどのように出力できますか?
- 28. メモリ内のSQLiteデータベースをPythonでどのようにアタッチできますか?
- 29. どのように私は同時に2つの要素をホバーすることができますか?
- 30. どのように要素をレールのドロップダウンリストに追加できますか?
?私はそれがもう存在しないと思う:https://github.com/apache/beam/search?utf8=%E2%9C%93&q=sortbytimestamp&type= – skeller88