【发布时间】:2025-12-21 06:20:09
【问题描述】:
管道从 PUBSUBIo 读取开始。 PubSub IO 中的消息是 GCS 文件路径。我知道我可以使用ReadAll() 从每个路径发出行。但是,它不符合我的目的(有关文件路径的信息丢失)。我需要的是发出一个KV<'Filepath','Lines inside files'>。
PubSUB 消息看起来像
Message1 -> gs://folder1/Topic1/topicfile1.gz
Message2 -> gs://folder1/Topic2/topicfile2.gz
假设文件内容如下
topicfile1.gz
{
topic1.line1
topic1.line2
}
topicfile2.gz
{
topic2.line1
topic2.line2
}
我期待的是一个像下面这样的 pcollection
{KV<'gs://folder1/Topic1/topicfile1.gz','topic1.line1'>}
{KV<'gs://folder1/Topic1/topicfile1.gz','topic1.line2'>}
{KV<'gs://folder1/Topic2/topicfile2.gz','topic2.line1'>}
{KV<'gs://folder1/Topic2/topicfile2.gz','topic2.line2'>}
我找不到从 ParDo 函数内的路径读取文件以将路径映射到行的方法。
希望这很清楚。
【问题讨论】:
-
您能否重新表述一下这个问题并分享一个您要解决的问题的示例?目前尚不清楚您到底在做什么,什么不起作用。
-
例如目前尚不清楚您是从 Pubsub 主题还是某些文件中阅读。 TextIO 和它有什么关系。
-
为问题添加了更好的解释。希望对你有帮助
标签: java apache-beam