使用 DataFlow 在文本文件中随机排列行的好方法

Good way to shuffle lines in a textfile with DataFlow

我有一个很长的文本文件(几百 GB),我想打乱其中的行。我想知道是否有使用 DataFlow 执行此操作的好方法。我想如果我只是将文件放入并有一个运行只输出行的 DoFn 的 ParDo,我会得到一个小的洗牌。但是最好对文件进行更全面的改组。有什么好的想法吗?

为了更好地随机播放,您可以尝试为每一行关联一个键,该键是该行的 MD5/CRC/UUID,然后按此键进行分组。在group by function中(假设没有碰撞),只输出lines.