如何通过hadoop处理非结构化文本数据(PIG / MapReduce)

时间:2016-04-17 17:55:11

标签: hadoop mapreduce apache-pig

我正在处理非结构化文本文件。我想通过hadoop处理它 但我从文件.pls帮助中提取所需数据时遇到问题。

我的文件看起来像: enter image description here

我希望输出像;

enter image description here

2 个答案:

答案 0 :(得分:0)

众所周知,MapReduce可以忽略无效数据,至少您可以实现自己的map来执行此操作。

例如,分隔符为\n,应接受具有指定格式的每一行,否则将被忽略。在这种情况下,每行包含6个以空格分隔的列应该正常处理。

//map @Override public void map(K key, V value, Context context) throws IOException, InterruptedException { // value contains line content, // verify value, only those valid lines should be accepted. }

答案 1 :(得分:0)

您可以在PIG中使用RANK来过滤标题。试试这个。

A = LOAD 'file' as (line:chararray);
B = RANK A;
C = FILTER B BY rank_A > 5;
D = FOREACH C GENERATE line;
DUMP D;