2015-04-03 274 views
4

有沒有類似於Mahout's XmlInputFormat但是對於Flink?Apache Flink的XmlInputFormat

我有一個很大的XML文件,我想提取特定的元素。在我的情況下,這是一個維基百科轉儲,我需要得到所有<page>標籤。

I.e.如果我有一個文件

<mediawiki> 
    <siteinfo>...</siteinfo> 
    <page>...</page> 
    <page>...</page> 
    <page>...</page> 
</mediawiki> 

我想獲得的所有3條記錄<page>...</page>在映射器中使用。理想情況下,它應該是有效的XML,xpath查詢/mediawiki/page將返回。

回答

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