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