Apache Beam ReadFromText()模式匹配不返回任何结果

时间:2019-06-13 16:29:39

标签: google-cloud-dataflow apache-beam apache-beam-io

我正在用python编写Apache Beam管道,并尝试加载多个文本文件,但是在使用模式匹配时遇到错误。当我传递确切的文件名时,管道可以正确运行。

例如: files = p | 'Read' >> ReadFromText('lyrics.txt')

但是,使用模式匹配时会发生错误:

files = p | 'Read' >> ReadFromText('lyrics*')

IOError:找不到基于文件格式的文件

在此示例中,我有几个以“歌词”开头的文件。

我尝试了许多不同的模式类型,但是除了传递完整的文件名之外,没有任何其他的成功。在这种情况下,有没有其他方法可以应用模式匹配?

已更新为答案

如果您使用的是Windows,请不要忘记在指定目录时使用反斜杠而不是正斜杠。例如:ReadFromText('.\lyrics*')

1 个答案:

答案 0 :(得分:1)

这看起来像个错误。我已提交https://issues.apache.org/jira/browse/BEAM-7560。同时,尝试使用绝对路径或ReadFromText('./lyrics*')