2014-12-09 5 views
0

У меня есть два значения в PIG латинице, что я должен сделать, чтобы использовать их математически, как если бы у меня было две переменныхОператоров PIG латинских

A=(5) 
B=(4) 

Как я могу сделать A + B или что-то подобное ?

ответ

0

Для выполнения любой математической операции вам необходимо использовать Foreach stmt, см. Пример ниже примера.

input.txt

2,1 
5,3 
7,5 

Pigscript:

A = LOAD 'input.txt' USING PigStorage(',') AS (val1:int , val1:int); 
B = FOREACH A GENERATE (val1+val2) AS sum, (val1-val2) AS diff; 
DUMP B; 

Выход:

(3,1) 
(8,2) 
(12,2) 
+0

но только два переменных, каждая из которых имеет как кортеж из одного элемента, можно просто создать новый кортеж на лету без загрузки какой-либо новый входной файл из файловой системы? – Bafla13

+0

Можете ли вы вставить свой пигмент в часть вопроса ?. пожалуйста, обновите некоторые примеры входных данных, а также укажите, каков ваш желаемый результат. Я посмотрю. –

0

Да, вы можете в состоянии сделать любой ари thmetic операция в ней, но дело в том, что любая переменная декларация вид отличается в свинью латино -

то, что вам нужно сделать, это -

% Объявите 5% DECLARE B 4

и в любом из заявления Еогеаспа вы можете использовать

фиктивного = Еогеасп-столбец 1, ...., колонок-н, а + в качестве суммирования;

это сработает.

Let me know if I fulfilled you need.