【发布时间】:2017-08-30 10:49:51
【问题描述】:
以前有人试过这个代码吗?
XmlSource<String> source = XmlSource.<String>from("gs://balajee_test/sample_3.xml")
.withRootElement("book")
.withRecordElement("author")
.withRecordElement("title")
.withRecordElement("genre")
.withRecordElement("price")
.withRecordElement("description")
.withRecordClass(XMLFormatter.class);
PCollection<String> output = p.apply(Read.from(source));
https://beam.apache.org/documentation/sdks/javadoc/0.4.0/org/apache/beam/sdk/io/XmlSource.html
org.apache.beam.sdk.io.xml.XmlSource
希望我使用了正确的 'XmlSource' 类,但仍然无法解决方法 'from("gs://balajee_test/sample_3.xml")' 的依赖关系,并获得相同的编译错误。错误信息是:
未定义 XmlSource 类型的 from(String) 方法
这个问题可能太傻了,但我真的需要解决它才能读取存储在 GCS Bucket 中的 XML 文件。
【问题讨论】:
-
您使用的是什么版本的 SDK?这些文档适用于非常旧的版本 (.4)。当前版本是 2.1。如果您使用的是较新版本的 SDK,您需要:beam.apache.org/documentation/sdks/javadoc/2.1.0 此外,您还有两个同名的“froms”。这是故意的吗?如果您使用的是旧版 SDK,可能会出现问题。
-
对不起。这两个“来自”不是故意的。在错误地发布此查询时,我将相同的“来自”语句复制了两次。我正在使用 2.0 版本。是这个问题吗?
-
是的,2.0 版本的 XML 源 API 已更改。我会尝试使用该特定版本的新文档。 beam.apache.org/documentation/sdks/javadoc/2.0.0 可以通过查找 org.apache.beam.sdk.io.xml 来查看 XML Source
标签: google-cloud-dataflow apache-beam