Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud dataflow 在固定时间窗口生成的Google数据流中对数据进行排序?_Google Cloud Dataflow - Fatal编程技术网

Google cloud dataflow 在固定时间窗口生成的Google数据流中对数据进行排序?

Google cloud dataflow 在固定时间窗口生成的Google数据流中对数据进行排序?,google-cloud-dataflow,Google Cloud Dataflow,我正在调查Google Dataflow的一个用例,我想知道是否有可能在后续步骤中对作为固定时间窗口结果生成的数据进行排序?如果是这样的话,我应该从现有的数据流中扩展还是滚动自己的数据流?在谷歌云数据流中,PCollection窗口中的元素没有定义的顺序,但是许多排序用例可以通过其他方式解决。例如,您可以通过基于组合的库转换检索“前n个元素”。如果数据的每窗口基数很小,则可以将窗口中的元素作为一个窗口来读取并对其排序,或者以其他方式实现目标 我很想知道更多关于您的用例的信息,这样我可以给出更具体

我正在调查Google Dataflow的一个用例,我想知道是否有可能在后续步骤中对作为固定时间窗口结果生成的数据进行排序?如果是这样的话,我应该从现有的数据流中扩展还是滚动自己的数据流?

在谷歌云数据流中,
PCollection
窗口中的元素没有定义的顺序,但是许多排序用例可以通过其他方式解决。例如,您可以通过基于
组合的库转换检索“前n个元素”。如果数据的每窗口基数很小,则可以将窗口中的元素作为一个窗口来读取并对其排序,或者以其他方式实现目标


我很想知道更多关于您的用例的信息,这样我可以给出更具体的答案。

谢谢您的回答。我想的是将来自不同来源的事件获取到数据流中,并在一个时间窗口中聚合它们。当时间窗口过去后,我想按时间戳顺序对所有事件进行排序,然后将它们保存到某个位置(可能是云存储上的文件)。Johan,你能提供一些关于你想做什么的详细信息吗?您是否有许多不同的键,并且希望分别对每个键的数据进行排序,还是希望进行全局排序。我想你想写多个文件?你在谈论的数据量是多少?@ReuvenLax我想根据每天的时间戳(或一些可行的时间单位)对我们所有的业务事件进行全局排序,然后将它们存储在谷歌云存储上。通过这样做,我希望以后能够按照创建顺序重播它们。目前,我们每秒大约有20条消息,但它将(逐渐)增加。在流媒体管道中,要按照您描述的排序顺序保留基于文件的消息存档以便重播,我将考虑两个选项:(1)我提到的侧输入方法:使用一个固定的窗口,窗口的所有元素都可以放入内存,或者使用GBK中的iterables。(2) 使用触发器通过AfterPane.ElementCountAtlast(…)大致分块输入。请注意,这仅设置下限,并且仅在非最终窗格上设置。