在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开头-LMLPHP

关于hadoop - 用单个空格替换多个空格,使用APACHE PIG删除“并以0开头,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35040222/

10-11 10:42