我想对单词文件进行单词计数,并删除带有撇号的字符串的标点符号。我尝试执行以下代码,但是由于出现意外的错误“”。
word_file = LOAD '/user/username/text.txt' USING TextLoader AS(line:CHARARRAY);
stop_file = LOAD '/user/username/stop_words.txt' USING TextLoader AS(stop:CHARARRAY);
words = FOREACH word_file GENERATE FLATTEN(TOKENIZE(REPLACE(LOWER(TRIM(line)) ,'([\w\d'\s]+)', ''))) AS word;
有人可以帮我吗?
http://pig.apache.org/docs/r0.17.0/func.html#replace州
如果要替换字符串中的特殊字符,例如'['从字面意义上讲,有必要在它们的前缀“ regExp”中对其进行转义带有双反斜杠(例如'\ [')。
因此,如果您要排除任何带引号的字符串,我会这样做
word_file = LOAD 'input.txt' USING TextLoader AS(line:CHARARRAY);
words = FOREACH word_file GENERATE
FLATTEN(
TOKENIZE(
REPLACE(LOWER(TRIM(line)),'(\\\'[\\w\\d\\s]+\\\')', ''))) AS word;
STORE words into '...';