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:过滤掉空字符串的主要内容,如果未能解决你的问题,请参考以下文章

核心数据 - NSPredicate 过滤掉工作不正确的空字符串

kettle怎么过滤掉某个字段空字符串数据

js删除数组中指定元素或者空字符串

在if语句,iOS中使用空字符串过滤字符串

利用stream对map集合进行过滤

使用扩展语法从包含表情符号的字符串中过滤空字符串