2

日志 Tcpdump 是二进制文件,我想知道我应该使用什么 FileInputFormat 的 hadoop 来分割输入数据......请帮助我!

4

3 回答 3

2

用户列表上有一个关于此的线程: http ://hadoop.markmail.org/search/list:org%2Eapache%2Ehadoop%2Ecore-user+pcap+order:date-forward

基本上,格式是不可拆分的,因为您无法找到从文件中任意偏移量开始的记录的开头。所以你必须做一些预处理,插入同步点或类似的东西。也许将较小的文件转换为序列文件,然后合并小序列文件?

如果你最终写了一些可重用的东西,请考虑回馈项目。

于 2009-08-09T19:01:47.113 回答
1

编写一个读取 PCAP 文件的 InputFormat,返回类似于 LongWritable 作为键(文件中的第 n 个数据包)和 PacketWritable 作为值(包含 PCAP 数据)的内容。对于 InputSplit,您可以使用 FileSplit 或 MultiFileSplit 以获得更好的性能,因为单个 PCAP 文件可以以惊人的速度读取。

除非您的块大小大于 pcap 文件的大小,否则您将体验到大量的网络 IO...

于 2009-10-01T20:12:03.000 回答
1

我们最近发布了一个 PCAP 格式文件的库:https ://github.com/RIPE-NCC/hadoop-pcap

于 2011-12-03T14:17:40.330 回答