【发布时间】:2018-10-17 20:01:16
【问题描述】:
我正在关注this post 和the documentation 的答案,以便在管道末端对我的数据执行动态窗口写入。这是我目前所拥有的:
static void applyWindowedWrite(PCollection<String> stream) {
stream.apply(
FileIO.<String, String>writeDynamic()
.by(Event::getKey)
.via(TextIO.sink())
.to("gs://some_bucket/events/")
.withNaming(key -> defaultNaming(key, ".json")));
}
但是 NetBeans 在最后一行警告我语法错误:
FileNaming is not public in Write; cannot be accessed outside package
如何使defaultNaming 可用于我的管道,以便我可以将其用于动态写入。或者,如果这不可能,我应该怎么做?
【问题讨论】:
-
我同意这是 Java 路径问题。但是,我正在使用
defaultNaming方法在 Beam 上下文中寻求一些帮助。我参考的帖子显示了这种方法的使用,类似于我使用它的方式,但显然它不会引发相同的错误。我想知道为什么不。
标签: java google-cloud-dataflow apache-beam apache-beam-io