在Hadoop Pig Latin中是否有$ _(整行,完整行)特殊变量?

时间:2016-08-22 22:12:35

标签: hadoop apache-pig

如果ANY变量包含一个不可打印的字符,我想过滤输入数据集中的行。

问题在于我不希望每列都有正则表达式匹配,只想匹配整行,例如PERL中的$_。与$0$1等有关的东西。或者$*可能意味着任何列(不确定数字列会发生什么)。

因此,我想做这样的事情:

tuple_stuff = LOAD 'really_big_file' USING PigStorage()
    AS (
      some_column:LONG,
      another_column:CHARARRAY,
      yet_another:CHARARRAY
      ...
      ninty_fifth_column:CHARARRAY);

filtered_stuff = FILTER tuple_stuff BY ! $_ MATCHES '[^:print:]+';

(旁注:我不记得Pig匹配整个字符串或只是字符串中的任何位置......因此,我需要“+”扩展器吗?)

要求使用JAVA UDF是好的,只要我不需要安装任何傻瓜。

注意:我意识到明显的局限性:一旦加载,原始行肯定不可用。因此,它可能必须是LOAD中的某种形式的修饰符。

0 个答案:

没有答案