Hadoop中使用MapReduce进行过滤



我想根据一些条件从给定文件中筛选记录,我希望我的条件是,如果第三个字段的值等于某个值,则检索该记录并将其保存在输出文件中。我将CSV文件作为输入。有人能提出什么建议吗?

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

如果您需要可伸缩性,可以通过以下方式使用hadoop:
安装Hadoop,安装hive,将csv文件放入HDFS

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

相关内容

  • 没有找到相关文章

最新更新