Java 使用mapreduce在hadoop中处理压缩的xml文件
我有一个这样的文件结构 a、 zip包含a1.zip、a2.zip、a3.zip,然后这些压缩文件中的每个压缩文件都有一个xml文件 我需要处理这些xml文件。目前,我正在从a.zip中提取压缩文件,将它们存储在hdfs中,并运行一个MR作业来处理a1.zip、a2.zip。。。。。使用自定义输入格式和记录读取器Java 使用mapreduce在hadoop中处理压缩的xml文件,java,xml,hadoop,mapreduce,Java,Xml,Hadoop,Mapreduce,我有一个这样的文件结构 a、 zip包含a1.zip、a2.zip、a3.zip,然后这些压缩文件中的每个压缩文件都有一个xml文件 我需要处理这些xml文件。目前,我正在从a.zip中提取压缩文件,将它们存储在hdfs中,并运行一个MR作业来处理a1.zip、a2.zip。。。。。使用自定义输入格式和记录读取器 有人能帮我找到一个更好的解决方案吗?我不必解压a.zip文件,并且仍然并行处理文件。为什么不编写一个普通的java预处理器类,可以从主程序调用它呢。这些步骤将是: 1预处理器类将以编程
有人能帮我找到一个更好的解决方案吗?我不必解压a.zip文件,并且仍然并行处理文件。为什么不编写一个普通的java预处理器类,可以从主程序调用它呢。这些步骤将是: 1预处理器类将以编程方式将a.zip文件提取到临时位置 2以编程方式将子zip类添加到hdfs 3以您现在的方式启动XML处理 4如果愿意,可以扩展预处理器类以直接放置XML,这样可以使XML处理程序更简单
如果这里有不清楚的地方,请告诉我。在输入格式类中提到{codec}类如何。。{FileInputFormat.setInputCompressorClassjob,gzip代码.class}