Я новичок в Apache Pig. Я хочу разбить и сгладить следующий ввод в мой требуемый результат, например, кто все это просматривает.Невозможно избежать дублирования удаления в Apache Pig
Мой вход: (UserId, ProductID)
12345 123456,23456,987653
23456 23456,123456,234567
34567 234567,765678,987653
Моя требуемая выходная мощность: (ProductID, UserId)
123456 12345
123456 23456
23456 12345
23456 23456
987653 12345
987653 34567
234567 23456
234567 34567
765678 34567
Мои Свиньи Сценарии:
a = load '/home/hadoopuser/ips' using PigStorage('\t') as (key:chararray, val:chararray);
b = foreach a generate key as ky1, FLATTEN(TOKENIZE(val)) as vl1;
c = group b by vl1;
d = foreach c generate group as vl2, $1 as ky2;
e = foreach d generate vl2, BagToString(ky2) as kyy;
f = foreach e generate vl2 as vl3,FLATTEN(STRSPLIT(kyy,'_')) as ky3;
g = foreach f generate vl3, FLATTEN(TOKENIZE(ky3)) as kk1;
dump g;
я получил следующее выход, который устраняет повторяющиеся (повторяющиеся) значения,
(23456,12345)
(123456,12345)
(234567,23456)
(765678,34567)
(987653,12345)
Я не знаю, как решить эту проблему. Может ли кто-нибудь помочь мне решить эту проблему? и как это сделать простым способом?
Привет, Balduz, Спасибо за ваш ответ. Он работает правильно, и я понял эту проблему очень хорошо благодаря вашему четкому объяснению. –