数据流中的 Python zip 函数相当于什么?



我使用的是数据流的python apache_beam版本。我有大约300个文件,每个文件有400万个条目。整个事情是关于5Gb,存储在一个gs桶中。

通过读取每个文件,我可以很容易地生成数组{x_1, ... x_n}的PCollection,但我现在需要执行的操作就像python zip函数:我想要一个范围从0到n-1的PCCollection,其中每个元素i都包含文件中所有x_i的数组。我尝试为每个元素使用yield(i, element),然后运行GroupByKey,但速度太慢,效率太低(由于内存限制,它根本无法在本地运行,而且在云上需要24小时,而如果我愿意,我相信我至少可以加载所有数据集(。

我该如何重组管道以做到这一点?

正如jkff在上面的评论中指出的,代码确实是正确的,该过程是编程tensorflow算法的推荐方法。应用于每个元素的DoFn是瓶颈。

最新更新