在PIG方面需要帮助
A = load 'input.txt' as (line:chararray);
B = foreach A generate FLATTEN(TOBAG(*));
C = FOREACH B GENERATE REPLACE(($0, '\\s+', ' ')
在最后一行需要帮助以单个空格替换多个空格,使用APACHE PIG删除
"
(报价)和前导00
注意:-方法不应针对特定 Realm ,因为有70多个 Realm ,
基本上,希望获得有关REPLACE或STRSTRING或REGEX函数的帮助,这些函数可以执行一行中提到的操作。
Input.txt
00595, ab 000cdef california "state, 00USA
00733, 0ds ds "ARIZONA 00state, USA
预期产量
595, ab cdef califormia state, USA
733, ds ds ARIZONA state, USA
最佳答案
您可以在Pig中使用REPLACE
函数进行清理和加载,因为INT将从数字中删除前导零。
A = LOAD '/usr/pigfiles/pigo.txt' using PigStorage(',') as (value: INT, state: chararray, country: chararray);
B = FOREACH A GENERATE value,REPLACE(REPLACE(state,' ', ' ' ),'\\"',''), country;
DUMP B;
关于hadoop - 用单个空格替换多个空格,使用APACHE PIG删除“并以0开头,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35040222/