【问题标题】:Hadoop streaming with zip input files带有 zip 输入文件的 Hadoop 流式传输
【发布时间】:2013-03-06 20:34:28
【问题描述】:
我正在尝试运行一个流式作业,其中输入文件是 zip 文件中的 csv。
我尝试使用 this,但它似乎不适用于 CDH4(我收到错误 class com.cotdp.hadoop.ZipFileInputFormat not org.apache.hadoop.mapred.InputFormat)
有谁知道我可以使用一个输入文件阅读器来处理 zip 文件的流式传输?如果可能的话,我正在寻找一个多文件阅读器(可以给出顶级目录)。
【问题讨论】:
标签:
hadoop
zip
hadoop-streaming
【解决方案1】:
我最终写了zipstream。
请注意,仅处理 zip 中的第一个文件,稍后我可能会添加对多个文件的支持。
【解决方案2】:
有两个用于输入格式的 hadoop api。 mapred.InputFormat 和 mapreduce.InputFormat。
mapreduce 是较新的 API,如果可以的话,您应该使用它。
我会检查 ZipInputFormat 实际实现的 InputFormat。如果它实现了 mapreduce 版本,您需要将您的工作转移到第二个 API。
了解一些背景知识:在早期的 Hadoop 版本中,“mapred”被贬低,取而代之的是“mapreduce”,这是一种更新、更快、更简洁的实现。不幸的是,这个新 API 没有包含旧 API 的所有功能,因此在最近的 Hadoop 版本中,“mapred”被恢复了,现在有两个 API 基本上做同样的事情。