Журналы Tcpdumps - это двоичные файлы, я хочу знать, какой FileInputFormat в Hadoop я должен использовать для разделения входных данных на куски... пожалуйста, помогите мне!
Как я могу использовать входные журналы .PCAP (двоичные) с Map Rreduce Hadoop
Ответы (3)
Об этом была ветка в списке пользователей: http://hadoop.markmail.org/search/list:org%2Eapache%2Ehadoop%2Ecore-user+pcap+order:date-forward
По сути, формат не является разделяемым, поскольку вы не можете найти начало записи, начинающееся с произвольного смещения в файле. Поэтому вам нужно выполнить предварительную обработку, вставить точки синхронизации или что-то подобное. Может быть, скрыть файлы меньшего размера в файлы последовательностей, а затем объединить небольшие файлы последовательностей?
Если вы закончите писать что-то повторно используемое, пожалуйста, подумайте о том, чтобы внести свой вклад в проект.
Напишите InputFormat, который читает файлы PCAP, возвращая что-то вроде LongWritable для ключа (n-й пакет в файле) и PacketWritable в качестве значения (содержащего данные PCAP). Для InputSplit вы можете использовать FileSplit или MultiFileSplit для повышения производительности, так как отдельный файл PCAP может быть прочитан на удивление быстро.
Если размер вашего блока не превышает размер ваших файлов pcap, у вас будет много сетевых операций ввода-вывода...
Недавно мы выпустили библиотеку для файлов формата PCAP: https://github.com/RIPE-NCC/hadoop-pcap