我有这样的文件结构。
a.zip包含a1.zip,a2.zip,a3.zip,然后每个压缩文件每个zip都有一个xml文件。
我需要处理这些xml文件。目前我从a.zip中提取压缩文件,将它们存储在hdfs中并运行MR作业来处理a1.zip,a2.zip .....使用自定义输入格式和记录阅读器。
任何人都可以帮助我找到更好的解决方案,我不必解压缩a.zip并仍然并行处理文件。
答案 0 :(得分:0)
为什么不写一个普通的java预处理器类,你可以从主程序调用它。步骤将是:
1)预处理器类将以编程方式将a.zip文件提取到临时位置。
2)以编程方式将子zip类添加到hdfs。
3)以你现在的方式激活XML处理。
4)如果您愿意,可以扩展预处理器类以直接放置XML,这样可以使xml处理程序更简单。
如果有什么不明确的地方,请告诉我。