【发布时间】:2012-02-15 06:20:20
【问题描述】:
我想根据一些标准从给定文件中过滤记录,我希望我的标准是如果第三个字段的值等于某个值,然后检索该记录并将其保存在输出文件中。我将 CSV 文件作为输入.任何人都可以提出一些建议吗?
【问题讨论】:
标签: hadoop mapreduce filtering
我想根据一些标准从给定文件中过滤记录,我希望我的标准是如果第三个字段的值等于某个值,然后检索该记录并将其保存在输出文件中。我将 CSV 文件作为输入.任何人都可以提出一些建议吗?
【问题讨论】:
标签: hadoop mapreduce filtering
最简单的方法可能是使用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。
【讨论】: