Фильтрация с использованием MapReduce в Hadoop - PullRequest
0 голосов
/ 14 февраля 2012

Я хочу отфильтровать записи из данного файла на основе некоторых критериев, я хочу, чтобы мои критерии были такими, если значение третьего поля равно некоторому значению, затем извлекаем эту запись и сохраняем ее в выходном файле. Я принимаю файл CSV в качестве входных данных Кто-нибудь может предложить что-то?

Ответы [ 2 ]

1 голос
/ 15 февраля 2012

Самый простой способ, вероятно, будет использовать pig что-то вроде

orig = load 'filename.csv' using PigStorage(',') as (first,second,third:chararray,...);

filtered_orig= FILTER orig by third=="somevalue"; 

store filtered_orig into 'newfilename' using PigStorage(',');
0 голосов
/ 14 февраля 2012

Если вам нужна масштабируемость, вы можете использовать hadoop следующим образом:
Установите Hadoop, установите куст, поместите ваши CSV-файлы в HDFS.

определить файл CSV как внешнюю таблицу (http://hive.apache.org/docs/r0.8.1/language_manual/data-manipulation-statements.html), а затем вы можете написать SQL-код для файла CSV. Результаты SQL можно затем экспортировать обратно в CSV.

...