假设我在Google云端存储中有以下结构:
gs://bucket/
aaa/
file1.txt
file2.txt
...
aab/
file1.txt
file2.txt
...
...
baa/
file1.txt
file2.txt
...
...
使用FileBasedSource
阅读 txt 文件的最佳方法是什么?我不能使用glob模式来匹配文件,因为我需要能够选择一个范围,例如我想匹配范围[aaz,baz]
中所有目录中的所有 txt 文件。我也知道我可以使用不同的源创建多个PCollection<>
,然后使用 Flatten 转换合并它们,但是我不确定性能和动态工作重新平衡将如何如果来自不同来源的PCollection<>
太多,会受到影响。
答案 0 :(得分:0)
建议使用 TextIO 而不是 FileBasedSource 进行更高级别的实现。您可以将FileIO.match()或matchAll()与FileIO.readMatches()和TextIO.readFiles()结合使用。