【发布时间】:2014-12-09 17:40:17
【问题描述】:
我在 PIG 拉丁文脚本中有两个值,我应该怎么做才能在数学上使用它们,就像我有两个变量一样
A=(5)
B=(4)
我怎样才能做 A+B 或类似的事情?
【问题讨论】:
标签: operators apache-pig latin
我在 PIG 拉丁文脚本中有两个值,我应该怎么做才能在数学上使用它们,就像我有两个变量一样
A=(5)
B=(4)
我怎样才能做 A+B 或类似的事情?
【问题讨论】:
标签: operators apache-pig latin
你需要使用 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)
【讨论】:
是的,您可以在其中进行任何算术运算,但问题是任何变量声明在猪拉丁语中都有所不同 -
你要做的是——
% 声明 A 5 % 声明 B 4
在任何 foreach 语句中都可以使用
dummy = foreach column-1,...., column-n, A+B 作为求和;
这会起作用。
Let me know if I fulfilled you need.
【讨论】: