PIG:如何使用特殊字符过滤字段

时间:2018-02-27 23:17:28

标签: apache apache-pig cloudera diacritics

我需要过滤重音词列表,因为它是葡萄牙语。

负载正在运行:

arq = LOAD '/user/cloudera/file1.5.txt' USING PigStorage(';') as 
(time:chararray,
cd_rastreio:chararray, 
hora:chararray, 
detalhe:chararray, 
local:chararray, 
destino:chararray);

我需要制作一个这样的过滤器:

[...]
detalhe IN (
'A entrega não pode ser efetuada - Carteiro não atendido',
'A entrega não pode ser efetuada - Cliente desconhecido no local',
'A entrega não pode ser efetuada - Cliente mudou-se')

但它没有返回任何行,我相信是因为“ã”。

我能做什么?

由于

1 个答案:

答案 0 :(得分:0)

我可以使用上面描述的过滤器(在Pig版本0.16中),例如:

ã

您是否可以在HDFS中检查您的文件,以确保它仍然具有字符MATCHES并且尚未被之前的流程清除?

无论如何,您可以编写正则表达式并使用ã进行过滤而不使用.字符,例如ã代替B = FILTER arq BY detalhe MATCHES 'A entrega n.o pode ser efetuada - (Carteiro n.o atendido|Cliente desconhecido no local|Cliente mudou-se)'; dump (A entrega não pode ser efetuada - Carteiro não atendido) (A entrega não pode ser efetuada - Cliente desconhecido no local) (A entrega não pode ser efetuada - Cliente mudou-se)

{{1}}