我有一个这样的文件结构。
a.zip包含a1.zip、a2.zip和a3.zip,每个压缩文件都有一个XML文件。
我需要处理这些xml文件。目前我提取压缩文件从.zip,将它们存储在hdfs和运行一个MR作业来处理a1.zip, a2.zip .....使用自定义输入格式和记录阅读器。
谁能帮我一个更好的解决方案,我不需要解压缩a.p zip,仍然并行处理文件
你为什么不写一个可以从主程序调用的普通java预处理器类呢?步骤如下:
1)预处理器类将以编程方式将a.p zip文件提取到临时位置。
2)以编程方式将子zip类添加到hdfs。
3)按照您现在所做的方式启动XML处理。
4)如果您愿意,您可以扩展预处理器类来直接放置XML,这样您可以使XML处理程序更简单。