使用mapreduce处理hadoop中的压缩xml文件

时间:2015-09-09 06:26:31

标签: java xml hadoop mapreduce

我有这样的文件结构。

a.zip包含a1.zip,a2.zip,a3.zip,然后每个压缩文件每个zip都有一个xml文件。

我需要处理这些xml文件。目前我从a.zip中提取压缩文件,将它们存储在hdfs中并运行MR作业来处理a1.zip,a2.zip .....使用自定义输入格式和记录阅读器。

任何人都可以帮助我找到更好的解决方案,我不必解压缩a.zip并仍然并行处理文件。

1 个答案:

答案 0 :(得分:0)

为什么不写一个普通的java预处理器类,你可以从主程序调用它。步骤将是:

1)预处理器类将以编程方式将a.zip文件提取到临时位置。

2)以编程方式将子zip类添加到hdfs。

3)以你现在的方式激活XML处理。

4)如果您愿意,可以扩展预处理器类以直接放置XML,这样可以使xml处理程序更简单。

如果有什么不明确的地方,请告诉我。