0
新豬用戶。我將mysql語句轉換爲pig,並提出了以下問題。我有2個表,我需要加入和加入的值有一個計算。我認爲這一定是簡單的問題。在Pig中加入計算
例如,我的表是MACHINE1和machinemeans我join.Could找不到語法Pig
手工製作的計算中加入。有什麼建議麼?
select region, os, group, f.machine, f.machine_users, f.machine_tm,
f.machine_users - g.users_per_machine outliers,
f.machine_tm - g.tm_per_machine outlying_tm,
tm_per_machine/(f.machine_tm+1) factor
from machine1 f
inner join machinemeans g using(region, os, group)
order by 4, 1, 2, 3
THX
更新:謝謝,WinnieNicklaus。 我試過你的建議,但我得到一個標量輸出錯誤超過1行。這是我的代碼。
machine1 = LOAD 'S1' AS (
block:chararray,
region:chararray,
os:chararray,
group:int,
machine:int,
machine_users:int,
machine_tm:float
);
machinemeans = LOAD 'S2' AS (
region:chararray,
os:chararray,
group:int,
tot_machines:int,
tot_users:int,
users_per_machine:float,
tm_per_machine:float,
tm_per_user:float,
cnt_per_block:float,
cnt_per_user:float
);
imbalance = FOREACH (JOIN machine1 by (region,os,group),
machine2 by (region,os,group))
GENERATE
region,os,group,
machine1.machine,
machine1.machine_users,
machine1.machine_tm,
machine1.machine_users - machinemeans.users_per_machine,
machine1.machine_tm - machinemeans.tm_per_machine;
編輯。特定錯誤消息:「標量在輸出中有多行。」 –
沒關係。忘記在連接中使用::運算符。現在它工作正常。謝謝。 –