данные:
1 a 1
1 b 2
2 c 3
2 a 4
С помощью следующих команд:
record = LOAD 'test_in' AS (id:int, company:chararray, rank:chararray);
grp = GROUP record BY id;
Я получил GRP:
(1,{(b,2),(a,1),(d,1)})
(2,{(a,4),(c,3)})
и я хочу получить следующие результаты:
(1,b:2_a:1)
(2,a:4_c:3)
Следующий код возвращает ошибку:
newdata = FOREACH grp GENERATE group AS id,
BagToString(CONCAT(record.$1, CONCAT(':', record.$2))) AS company;
информация об ошибке:
[main] ОШИБКА org.apache.pig.tools.grunt.Grunt - ОШИБКА 1200: Ожидается
мешок кортежей: {()}, найденный тип данных: bytearray