pig:过滤掉空字符串
Posted
技术标签:
【中文标题】pig:过滤掉空字符串【英文标题】:pig: filtering out empty string 【发布时间】:2015-10-06 23:48:47 【问题描述】:我正在尝试从我的数据中过滤掉 NULL 和空字符串
data_filtered = FILTER raw_data by COLUMN_NAME is not null and COLUMN_NAME != '' ;
当我运行它时,我收到以下错误:
ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1200: <file jhoughton/temp/temp_script.pig, line 43, column 46> Unexpected character ' '
如何解决此错误并过滤掉 NULLS 和空白字符串?
【问题讨论】:
raw_data 和 BY 子句之间一个空格就足够了。要检查一个字符串是否为空,您只需检查它是否为 NOT NULL - 它会过滤掉:''、'' 和 NULL 字符。 【参考方案1】:你可以使用TRIM函数来过滤空格
data_filtered = FILTER raw_data by ( COLUMN_NAME is not null and TRIM(COLUMN_NAME) != '' );
【讨论】:
【参考方案2】:字符串的(In-)Equality 不是通过Pig 中的!= 或== 建立的。
正确的语法是:
data_filtered = FILTER raw_data BY (COLUMN_NAME is not null) AND NOT(COLUMN_NAME MATCHES "");
【讨论】:
以上是关于pig:过滤掉空字符串的主要内容,如果未能解决你的问题,请参考以下文章