2014-11-14 3 views
1

выборка данных: (ТСВ файла: SAMPL)выборки записей внутри группы бросали ошибки

2 б

raw= load 'sampl' using PigStorage() as (f1:chararray,f2:chararray); 
grouped = group raw by f1; 

describe grouped; 
fields = foreach grouped { 
    x = sample raw 1; 

    generate x; 
} 

При Я запускаю это, я получаю ошибку на линии x = sample raw 1; ОШИБКА 1200: mism атакуемый вход «необработанный», ожидающий LEFT_PAREN

Отбор проб не допускается для сгруппированной записи?

ответ

0

Вы не можете использовать команду «sample» внутри вложенного блока. Это не поддерживается свиньями.
Только несколько операций, таких как (CROSS, DISTINCT, FILTER, FOREACH, LIMIT и ORDER BY) разрешены во вложенном блоке. Вы должны использовать команду sample вне вложенного блока.

Другая проблема заключается в том, что вы загружаете свои входные данные, используя разделитель по умолчанию, т.е. вкладку. Но ваши входные данные разделены пробелом, поэтому вам нужно изменить свой сценарий следующим образом:

raw= load 'sampl' using PigStorage(' ') as (f1:chararray,f2:chararray); 
+0

Спасибо за ваш комментарий. Входные данные имеют вкладки, но из-за ошибки копирования-вставки здесь отображается пробел. – user765938

+0

Great.please отметьте этот вопрос как ответ, если это поможет. –