出于某种原因,Apache光束不会将文件写入我的本地环境或Google Storage。我的目标是从谷歌PubSub读取数据,并将其批量写入谷歌存储。要做到这一点,我有以下代码:
pipeline.begin()
.apply(PubsubIO.readStrings()
.fromSubscription("projects/PROJECT/subscriptions/SUBNAME"))
.apply(ParDo.of(new UpperCaseAndPrint()))
.apply(Window.into(FixedWindows.of(Duration.millis(1000))))
.apply(TextIO.write().to("gs://BUCKETNAME/outputData")
.withWindowedWrites()
.withNumShards(1));ParDo函数打印传入的消息,并且似乎有数据传入:
19806 [direct-runner-worker] INFO app - message-4
19807 [direct-runner-worker] INFO app - message-3
19808 [direct-runner-worker] INFO app - message-2
19809 [direct-runner-worker] INFO app - message-1有人知道为什么这些文件不会在本地或Google存储桶中创建吗?
发布于 2018-10-25 20:44:55
因此,事实证明,在使用PubsubIO时,使用DirectRunner和使用TextIO存在一些问题。当使用另一个流道时,问题就消失了。
我真的不能解决当地的问题,但我希望这能帮助下一个遇到这个问题并找到这篇文章的人。
https://stackoverflow.com/questions/52972063
复制相似问题