Apache Flink 的 XmlInputFormat
XmlInputFormat for Apache Flink
有没有类似Mahout's XmlInputFormat但Flink的东西?
我有一个很大的 XML 文件,我想提取特定的元素。在我的例子中,它是一个维基百科转储,我需要获取所有 <page>
标签。
即如果我有文件
<mediawiki>
<siteinfo>...</siteinfo>
<page>...</page>
<page>...</page>
<page>...</page>
</mediawiki>
我想获取所有 3 条记录 <page>...</page>
以用于映射器。理想情况下,它应该是有效的 XML,xpath 查询 /mediawiki/page
会 return。
Mahout 的 XmlInputFormat 扩展了 Hadoop 的 TextInputFormat。
Flink 具有 Hadoop InputFormats 的通用包装器,因此也应该支持 XmlInputFormat。
要使用 Hadoop InputFormats 读取数据,您可以执行以下操作:
DataSet<Tuple2<LongWritable, Text>> input =
env.readHadoopFile(new TextInputFormat(), LongWritable.class, Text.class, textPath);
详情见documentation。
有没有类似Mahout's XmlInputFormat但Flink的东西?
我有一个很大的 XML 文件,我想提取特定的元素。在我的例子中,它是一个维基百科转储,我需要获取所有 <page>
标签。
即如果我有文件
<mediawiki>
<siteinfo>...</siteinfo>
<page>...</page>
<page>...</page>
<page>...</page>
</mediawiki>
我想获取所有 3 条记录 <page>...</page>
以用于映射器。理想情况下,它应该是有效的 XML,xpath 查询 /mediawiki/page
会 return。
Mahout 的 XmlInputFormat 扩展了 Hadoop 的 TextInputFormat。 Flink 具有 Hadoop InputFormats 的通用包装器,因此也应该支持 XmlInputFormat。
要使用 Hadoop InputFormats 读取数据,您可以执行以下操作:
DataSet<Tuple2<LongWritable, Text>> input =
env.readHadoopFile(new TextInputFormat(), LongWritable.class, Text.class, textPath);
详情见documentation。