3
我想轉數成概率:如何將1x1別名轉換爲標量?
total = foreach (group A all) generate SUM(A.count);
A = foreach A generate A.count/total as probability;
這不起作用,因爲total
是別名,不是標:
無效標投影:總:A柱需要從投影 它用作一個標量的關係
我想轉數成概率:如何將1x1別名轉換爲標量?
total = foreach (group A all) generate SUM(A.count);
A = foreach A generate A.count/total as probability;
這不起作用,因爲total
是別名,不是標:
無效標投影:總:A柱需要從投影 它用作一個標量的關係
即使別名total
只是有一個字段(總和),你仍然有以引用該字段。
這應該工作:
total = foreach (group A all) generate SUM(A.count) as total;
A = foreach A generate A.count/total.total as probability;
試試這個
total = foreach (group A all) generate SUM(A.count) as total_sum;
A = foreach A generate count/(int)total.total_sum as probability;
這裏http://pig.apache.org/docs/r0.11.1/basic.html#cast 搜索 「鑄造關係到標量」
它會沒有鑄造total.total爲int的工作/長? – Ruslan
@Ruslan我很確定它會。 'SUM'的輸出應該默認爲很長,所以你不必做'SUM(A.count)AS total:long;'。 – mr2ert
好的。順便說一句,鑄造的語法在Pig中無效:https://issues.apache.org/jira/browse/PIG-2315 – Ruslan