我正在尝试运行一个流媒体作业,其中输入文件是zip文件中的csv。
我尝试使用this,但似乎无法使用CDH4(我收到错误class com.cotdp.hadoop.ZipFileInputFormat not org.apache.hadoop.mapred.InputFormat
)
任何人都知道我可以使用输入文件阅读器与zip文件一起流式传输?如果可能的话,我正在寻找一个多文件阅读器(可以给出顶级目录)。
答案 0 :(得分:1)
我最后写了zipstream。
请注意,只处理zip中的第一个文件,我可能会在以后添加对多个文件的支持。
答案 1 :(得分:0)
输入格式有两个hadoop api。 mapred.InputFormat和mapreduce.InputFormat。
mapreduce是较新的API,如果可以的话,你应该使用它。
我会检查ZipInputFormat实际实现的InputFormat。如果它实现了mapreduce版本,则需要将您的工作转移到第二个API。
对于一些背景知识:在早期的Hadoop版本中,'mapred'被折旧以支持'mapreduce',这是一种更新,更快,更清晰的实现。不幸的是,这个新API没有包含旧API的所有功能,所以在更新版本的Hadoop中,'mapred'已经恢复,现在有两个API基本上做同样的事情。