Apache beam java sdk 支持读取大型 xml 输入文件,带有 org.apache.beam.sdk.io.xml.XmlIO(我查看了 2.1.0 版本)
有谁知道 Scio 是否允许你做同样的事情或有一个例子?我有一组非常大的 xml 文件要处理。
Apache beam java sdk 支持读取大型 xml 输入文件,带有 org.apache.beam.sdk.io.xml.XmlIO(我查看了 2.1.0 版本)
有谁知道 Scio 是否允许你做同样的事情或有一个例子?我有一组非常大的 xml 文件要处理。
您可以通过使用自定义输入转换对 Scio 执行此操作。通常,您需要对没有本机 Scio 界面的任何输入源执行此操作。
例子:
import org.apache.beam.sdk.io.xml._
val xmlInputTransform = XmlIO.read()
.from("file or pattern spec") // TODO: specify file name or Java "glob" file pattern to read multiple XML files
.withRootElement("root element") // TODO: specify name of root element
.withRecordElement("record element") // TODO: specify name of record element
.withRecordClass(classOf[Record]) // TODO: Define JAXB annotated Record class
// xmls is an SCollection[Record]
val xmls = sc.customInput("fromXML", xmlInputTransform)
有关详细信息,请参阅XmlIO.Read
Apache Beam Java SDK 参考中的部分:https ://beam.apache.org/documentation/sdks/javadoc/2.2.0/