以下是pig命令操作
grunt> sztdata_sub_orignal = LOAD '/datum/szt/subway/20160601' USING PigStorage(',') AS (num:chararray,id:chararray,subid:chararray,type:long,time:chararray,sub_station_line:chararray,sub_station_name:chararray,sub_num:chararray);
grunt> sztdata_sub = FILTER sztdata_sub_orignal BY type MATCHES '21';2017-09-04 23:45:39,369 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1037:
<line 2, column 49> Operands of Regex can be CharArray only :(Name: Regex Type: null Uid: null)
Details at logfile: /state/partition1/home/wangsheng/pig_1504539913472.log
grunt> sztdata_sub_orignal = LOAD '/datum/szt/subway/20160601' USING PigStorage(',') AS (num:chararray,id:chararray,subid:chararray,type:chararray,time:chararray,sub_station_line:chararray,sub_station_name:chararray,sub_num:chararray);
grunt> sztdata_sub = FILTER sztdata_sub_orignal BY type MATCHES '21';
这是因为filter过滤函数作用的值只能是char类型的 (Operands of Regex can be CharArray only ),type是long类型的
所以需要把type改成char类型的
修改之后,成功