Apache Flink的XmlInputFormat

时间:2015-04-03 09:20:42

标签: xml mahout 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将返回的内容。

1 个答案:

答案 0 :(得分:4)

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