hadoop pig拉丁语中有$特殊变量吗?

vuv7lop3  于 2021-05-29  发布在  Hadoop
关注(0)|答案(0)|浏览(176)

如果任何变量包含不可打印的字符,我想过滤掉传入数据集中的行。
问题是我不希望每列都有一个regexp匹配,只希望regexp匹配整行,比如 $_ 在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与整个字符串或字符串中的任何地方匹配…因此,我需要“+”扩展器吗?)
被要求使用javaudf是可以的,前提是我不必安装任何愚蠢的东西。
注意:我意识到这一点的明显局限性:一旦加载,原始行肯定不可用。因此,它可能是某种形式的修改器加载。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题