簡體   English   中英

使用時間作為輸入的 Apache Beam

[英]Apache Beam that uses time as an input

我希望創建一個每秒執行一次的 Beam 輸入,並將時間作為輸入輸出。 我知道我可以做一個來自這樣的數字的 pcollection

p.apply(Create.of(1, 2, 3, 4, 5))
        .setCoder(VarIntCoder.of())

我可以創建一個非常大的數字數組並將它們窗口化為每秒一次,但是有沒有更好的方法來做到這一點? 謝謝。

發現這可以通過GenerateSequence來完成,用於有界或無界集。 為了每秒獲得 1 個數據點,我可以使用 withRate 函數,如果我不包含“to”,那么我的 pcollection 將是無限的。

p.apply(GenerateSequence.from(0).withRate(1, new Duration(1000)))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM