2014-10-20 3 views
-1

В моем столбце есть имя и фамилия, разделенные пробелом. Я хочу использовать функцию свиньи для разделения на две разные колонки. Я думаю о функции STRSPLIT, но я не знаю, как ее использовать. Может ли кто-нибудь помочь мне в этом простом вопросе?Сценарий свиней STRSPLIT

ответ

1

Вы можете попробовать что-то вроде этого, примеры кода ниже
здесь то, что я делаю это
1.Reading каждую строку в одной колонке
2.Apply функция STRSPLIT использования пространства в качестве разделителя
3.Store Firstname и Lastname в двух разных колонках

input.txt 
Pearson Charles 
James Michael 
Smith Linda 

PigScript: 
A = LOAD 'input.txt' AS line; 
B = FOREACH A GENERATE FLATTEN(STRSPLIT(line,'\\s+',2)) AS (firstname:chararray,lastname:chararray); 
C = FOREACH B GENERATE firstname,lastname; 
DUMP C; 

Output: 
(Pearson,Charles) 
(James,Michael) 
(Smith,Linda) 

Узнать больше информации по этой ссылке
http://pig.apache.org/docs/r0.13.0/func.html#strsplit

Смежные вопросы