我正在尝试运行一个流式作业,其中输入文件是 zip 文件中的 csv。我尝试使用它,但它似乎不适用于 CDH4(我收到错误消息class com.cotdp.hadoop.ZipFileInputFormat not org.apache.hadoop.mapred.InputFormat
)
任何人都知道我可以用于流式传输 zip 文件的输入文件阅读器吗?如果可能的话,我正在寻找一个多文件阅读器(可以给出顶级目录)。
我正在尝试运行一个流式作业,其中输入文件是 zip 文件中的 csv。我尝试使用它,但它似乎不适用于 CDH4(我收到错误消息class com.cotdp.hadoop.ZipFileInputFormat not org.apache.hadoop.mapred.InputFormat
)
任何人都知道我可以用于流式传输 zip 文件的输入文件阅读器吗?如果可能的话,我正在寻找一个多文件阅读器(可以给出顶级目录)。
我最终写了zipstream。
请注意,仅处理 zip 中的第一个文件,稍后我可能会添加对多个文件的支持。
输入格式有两个 hadoop api。mapred.InputFormat 和 mapreduce.InputFormat。
mapreduce 是较新的 API,如果可以的话,您应该使用它。
我会检查 ZipInputFormat 实际实现的 InputFormat。如果它实现了 mapreduce 版本,您需要将您的工作转移到第二个 API。
一些背景知识:在早期的 Hadoop 版本中,“mapred”被贬低,取而代之的是“mapreduce”,这是一种更新、更快、更清晰的实现。不幸的是,这个新 API 没有包含旧 API 的所有功能,因此在最近的 Hadoop 版本中,“mapred”被恢复,现在有两个 API 基本上做同样的事情。