在Hadoop中使用MapReduce进行过滤

时间:2012-02-14 13:36:49

标签: hadoop mapreduce filtering

我想根据某些条件从给定文件中过滤记录,我希望我的条件是,如果第三个字段的值等于某个值,则检索该记录并将其保存在输出文件中。我将CSV文件作为输入任何人都可以提出建议吗?

2 个答案:

答案 0 :(得分:1)

最简单的方法可能是使用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(',');

答案 1 :(得分:0)

如果您需要可扩展性,可以通过以下方式使用hadoop:
安装Hadoop,安装配置单元,将您的csv文件放入HDFS。

将CSV文件定义为外部表(http://hive.apache.org/docs/r0.8.1/language_manual/data-manipulation-statements.html),然后您可以针对CSV文件编写SQL。然后可以将SQL的结果导出回CSV。