【问题标题】:Operators in PIG LatinPIG 拉丁语中的运算符
【发布时间】:2014-12-09 17:40:17
【问题描述】:

我在 PIG 拉丁文脚本中有两个值,我应该怎么做才能在数学上使用它们,就像我有两个变量一样

A=(5)
B=(4)

我怎样才能做 A+B 或类似的事情?

【问题讨论】:

    标签: operators apache-pig latin


    【解决方案1】:

    你需要使用 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)
    

    【讨论】:

    • 但这只是两个变量,每个变量都是一个元素的元组,我可以在不从文件系统加载任何新输入文件的情况下即时创建新元组吗?
    • 你能把你的pigscript粘贴到问题部分吗?请更新一些示例输入,并提及您想要的输出。我去看看。
    【解决方案2】:

    是的,您可以在其中进行任何算术运算,但问题是任何变量声明在猪拉丁语中都有所不同 -

    你要做的是——

    % 声明 A 5 % 声明 B 4

    在任何 foreach 语句中都可以使用

    dummy = foreach column-1,...., column-n, A+B 作为求和;

    这会起作用。

    Let me know if I fulfilled you need.
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-13
      • 1970-01-01
      • 1970-01-01
      • 2020-05-11
      • 1970-01-01
      相关资源
      最近更新 更多