在PIG中使用TRIM()获取单个记录

时间:2011-11-18 21:56:58

标签: apache-pig

我正在将文件加载到PIG中。在使用STRSPLIT(doc,',')拆分记录后,我想使用TRIM()清理数据以消除额外的空白区域。我似乎无法弄清楚如何在记录中的每个单词上使用TRIM()。例如:

((car , truck, jeep , honk)).

这个架构是:tokens:(t:(w:chararray))
我试过了

clean_docs = FOREACH tokenized_docs GENERATE TRIM(tokens.$0.w) AS tokens:(t:(w:chararray));

还有许多其他变种,似乎无法使其发挥作用。 请帮忙! 谢谢!

1 个答案:

答案 0 :(得分:0)

现在我不认为有这样做的内置解决方案你需要展平所有东西或者做一个Eval UDF,它接受字符串列表并修剪每个元素(更清洁的解决方案)。

然而,对整个字符串执行TRIM然后使用切割空格的正则表达式也可以工作吗? 例如

  

STRSPLIT(doc,'*,*')