Как давать уравнения в Apache pig

Я пытаюсь получить значение из этого уравнения

--counted gives the total row count in a file
samplecount = counted*(10/100);

Как сэмплировать данные в соответствии с этим

--Load data
examples = LOAD '/home/sreeveni/myfiles/PE/USCensus1990New.csv' ;

--Group data
groupedByUser = group examples all;

--count no of lines in the file
 counted = FOREACH groupedByUser generate COUNT(examples) ;

--sampling
sampled = SAMPLE examples counted*(10/100);
store sampled into '/home/sreeveni/myfiles/OUT/samplesout';

Отображение ошибки в строке выше

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

Пожалуйста посоветуй.

Я делаю что-то не так.


person USB    schedule 26.06.2014    source источник
comment
Какой у Вас вопрос ?   -  person merours    schedule 26.06.2014
comment
Я получаю ошибку в этой строке. Недопустимая скалярная проекция: подсчитано: столбец должен быть спроецирован из отношения, чтобы его можно было использовать в качестве скаляра.   -  person USB    schedule 26.06.2014
comment
можете ли вы опубликовать полный код, начиная с загрузки файла.   -  person Tanveer    schedule 26.06.2014
comment
Конечно. обновит вопрос   -  person USB    schedule 27.06.2014


Ответы (2)


Я думаю, образец работает с числом между [0,1]. В вашем случае это превышение требуемого значения. Если вам нужны только 10% данных, передайте 0,1 напрямую, а чтобы получить это в коде, найдите этот процент только в операторе FOREACH.

person gonephishing    schedule 27.06.2014
comment
да, это работает с числами. но эти значения являются для меня настраиваемым параметром, где пользователь будет указывать% - person USB; 27.06.2014

Если вы пытаетесь создать выборку «примеров» с 10% от общего количества строк, все, что вам нужно сделать, это:

    SAMPLE examples 0.1;

Прочтите документацию по команде SAMPLE здесь.

person Explorer    schedule 27.06.2014
comment
да, это работает с числами. но эти значения являются для меня настраиваемым параметром, где пользователь будет указывать значение% - person USB; 27.06.2014