私は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. Apacheのビームでストリーミングで空のペイン/ウィンドウを強制
- 3. 私はどのようにグリッドパネル上をウィンドウできますか?
- 4. 私はどのようにHTMLの要素の内容を別のHTMLの要素の内容で置き換えることができますか?
- 5. イベントハンドラ内で要素のデフォルトイベントをどのようにトリガできますか?
- 6. @ Html.BeginForm内の要素をjQueryでどのように選択できますか?
- 7. Python - この要素はどのようにして選択できますか?
- 8. どのように私はできませんルート要素
- 9. Pythonでキュー内の要素にアクセスするためにどのようにインデックスを使用できますか?
- 10. Apacheのビームで左結合
- 11. ウィンドウを出力する前に、無制限のApache Beamパイプラインのウィンドウ内のすべての要素にどのように変換を適用しますか?
- 12. スロット内の各要素をどのようにラップできますか?
- 13. どのような基準では、Pythonの注文はdict?
- 14. リスト内のタプル付き要素をPythonで見つけよう
- 15. WPFウィンドウ内の要素にアクセスするにはどうすれば変更できますか?
- 16. どのようにselect要素を参照できますか?
- 17. 私は自分のデータをどのように注文できますか?時間によって昇順
- 18. Hyperledgerトランザクションはブロック内でどのように注文されますか?
- 19. どのようにPythonでウィンドウ10でUnixを使用できますか?
- 20. どのように私はどのように私はのための要素aを選択することができ、HTMLコードは次の子要素
- 21. Google CloudのデータフローにApacheビーム
- 22. コメントはどのように注文するのですか?
- 23. フォーム要素の$ validはどのように角度でアクセスできますか?
- 24. どのように私は税のためのMySQLの表示を行うことができます注文
- 25. 私はどのように私のPythonコードをスピードアップできますか?
- 26. Javascriptで新しいウィンドウを開き、そのウィンドウ内の要素をクリックできますか?
- 27. どのようにmysqlの注文文字列ですか?
- 28. 名前付きパイプはどのようにウィンドウ内で動作しますか?
- 29. ReChartsの要素の総数はどのように表示できますか?
- 30. リスト<string>はどのように注文できますか?
?私はそれがもう存在しないと思う:https://github.com/apache/beam/search?utf8=%E2%9C%93&q=sortbytimestamp&type= – skeller88