日志Tcpdumps是二进制文件,我想知道hadoop的FileInputFormat我应该用于分割块的输入数据......请帮助我!!
答案 0 :(得分:2)
用户列表中有一个关于此的线程: http://hadoop.markmail.org/search/list:org%2Eapache%2Ehadoop%2Ecore-user+pcap+order:date-forward
基本上,格式不可拆分,因为您无法找到从文件中任意偏移量开始的记录的开头。所以你必须做一些预处理,插入同步点或类似的东西。也许将较小的文件转换为sequencefiles,然后合并小的sequencefile?
如果您最终写出可重复使用的内容,请考虑回馈该项目。
答案 1 :(得分:1)
编写一个读取PCAP文件的InputFormat,为密钥(文件中的第n个数据包)返回类似LongWritable的内容,并返回PacketWritable作为值(包含PCAP数据)。对于InputSplit,您可以使用FileSplit或MultiFileSplit来获得更好的性能,因为可以非常快速地读取单个PCAP文件。
除非你的块大小超过pcap文件的大小,否则你会遇到很多网络IO ......
答案 2 :(得分:1)
我们最近发布了一个PCAP格式文件库:https://github.com/RIPE-NCC/hadoop-pcap