以下是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類型的
修改之後,成功