2014-11-28 13 views
1

Как выполнить основную математическую операцию с Pig Latin?
я вошел в оболочку Grunt и попытался, например dump 1+2;, но получилОсновные математические операции

2014-11-28 23: 23: 48011 [главная] ОШИБКА org.apache.pig.tools.grunt.Grunt - ОШИБКА 2997 : Исключено IOException. Не обнаружено ранее определенного псевдонима. Пожалуйста, определите псевдоним и используйте оператор «дамп».

Update

Ведение A = 1 + 2 DUMP A я получаю:

grunt> A = 1 + 2 DUMP A 
>> [ENTER] 
>> [ENTER] 
... 

ответ

2

Вы не можете использовать оболочку свиньи, как нечто вроде оболочки python. Свинья - это язык потока данных, и он принимает отношение как входной сигнал и производит другое отношение как выход. Pig stmts, как правило, организованы в этой форме

1.LOAD stmt to load data from local file system or HDFS file system 
2.A series of stmts to process the data using pig built-in function or Custom UDF 
3.DUMP stmt to display the data in console, it will take only relation as input(No constant values as you mentioned) 
4.STORE stmt to store the output into local file system or HDFS file system 

Пример:
input.txt

1,5,10.0 
2,6,20.0 
3,7,30.0 

загрузить файл из локальной файловой системы, используя в качестве разделителя ''

A = LOAD 'input.txt' USING PigStorage(',') AS (f1:int,f2:int,f3:float); 

процесса данные, добавлять, диф и DIV

B = FOREACH A GENERATE f1+10 AS sum, f2-2 AS diff, f3/10 AS div; 

Показать результат в консоли

DUMP B; 

Вы можете выполнить ряд свиньи stmts либо из хрюкать оболочки или через свинки сценарий

Грунтовая оболочка:

grunt> A = LOAD 'input.txt' USING PigStorage(',') AS (f1:int,f2:int,f3:float); 
grunt> B = FOREACH A GENERATE f1+10 AS sum, f2-2 AS diff, f3/10 AS div; 
grunt> DUMP B; 
(11,2,1.0) 
(12,3,2.0) 
(13,4,3.0) 

Свиньи Сценарий:

1.Add the above three lines of pig stmt into a file Ex: test.pig 
2.Run from terminal 

свиньи -x локальная test.pig (локальный режим)

свиньи test.pig (или) свиньи -x MapReduce тест.свинья (режим MapReduce)

Пожалуйста, обратитесь к основной документации свинья, это поможет вам намного больше https://pig.apache.org/docs/r0.13.0/basic.html#artichmetic-ops

Смежные вопросы