2014-12-09 5 views
1
x = load '/home/manish/Work/inputs/testInput.txt' using PigStorage(',') AS (key:chararray , value:int); 
y = group x bt key; 
r = foreach y { m = generate x.value AS one; ord_m = ORDER m BY one desc; lim_m = LIMIT ord_m 3; generate group, lim_m;}; 

получать ERROR как:Получение ошибки во время работы свиньи скрипта

2014-12-09 20:07:45,978 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1200: <line 4, column 29> mismatched input 'x' expecting LEFT_PAREN 

на то есть третья строка.

r = foreach y { m = generate x.value AS one; ord_m = ORDER m BY one desc; lim_m = LIMIT ord_m 3; generate group, lim_m;}; 
+0

Можете ли вы рассказать мне, что вы пытаетесь в этом сценарии ?. вы не можете использовать команду generate без foreach. –

+0

Мой вход формата: 1,3 1,4 3,78 2,5 3,6 6,76 2,45 3,65 3,45 4,45 Теперь я хочу мой o/p в формате: 1 3,4 2 4,45 3 45,65,78 вот так. – Manish

+0

Вот почему я хотел сортировать его по x.value, а не по x. Если возможно, попробуйте. Я столкнулся с проблемой. В любом случае спасибо за ответ – Manish

ответ

0

Вы можете попробовать это?

x = load '/home/manish/Work/inputs/testInput.txt' using PigStorage(',') AS (key:int , value:int); 
y = group x by key; 
r = foreach y { 
       ord_m = ORDER x BY value desc; 
       lim_m = LIMIT ord_m 3; 
       generate group, lim_m; 
       }; 
dump r; 
Смежные вопросы