0
考慮這個腳本:如何傳遞給UDF全關係?
register udf-1.0.0-BETA.jar
A = LOAD '1.txt' USING PigStorage('\t') as (key1:chararray, val1:chararray);
B = LOAD '2.txt' USING PigStorage('\t') as (key2:chararray, val2:chararray);
joined = JOIN A by key1, B by key2;
out = FOREACH joined GENERATE com.example.UDF();
dump out;
像這樣我的UDF只得到鑰匙。如果我試試這個:
out = FOREACH joined GENERATE com.example.UDF(joined);
我得到一個例外A柱需要從關係來預計它被用作標
我可以通過這樣的
out = FOREACH joined GENERATE com.example.UDF(A::key1, A::val1, B::key2, B::val2);
整個關係
但它是冗長的。有一個更簡單的方法嗎?
我知道這是可能的!非常感謝。 – Moses
另外,也許你知道爲什麼在第一個例子中,我只得到鍵而不是值? – Moses
因爲你沒有傳遞任何東西給UDF – Frederic