1
我有宏觀傳遞豬宏觀參數
define chop_massive (my, maxev) returns grouped, massive {
gr = foreach (group $my by id) generate group as id, $my;
split gr into
massive if COUNT($my) > $maxev,
grouped otherwise;
$grouped = grouped;
$massive = foreach massive generate id, COUNT($my) as $my;
};
一頭豬我的問題是通過maxev
參數。 當我使用一個常量文字(例如,100L
)一切都很好。然而,我想在命令行上使用-param
指定的$MAX_EVENTS
。
我試圖
A, massive = chop_massive(A, $MAX_EVENTS);
,並得到
mismatched input '100L' expecting set null
我試圖
A, massive = chop_massive(A, ($MAX_EVENTS));
,並得到
mismatched input '(' expecting set null
我試圖
A, massive = chop_massive(A, '$MAX_EVENTS');
,並得到
Macro doesn't support user defined schema that contains name that conflicts with alias name: A
我試圖
massive if COUNT($my) > $MAX_EVENTS,
宏觀內,得到了
Macro inline failed for macro 'chop_massive'. Reason: Undefined parameter : MAX_EVENTS
(這個錯誤至少是明確和合理的) 。
那我該怎麼辦?
nope,也不起作用(請參閱編輯) – sds
我相信剛剛得到的錯誤與參數替換無關 - 這是因爲您在宏返回和其他位置都使用了'A'作爲別名。劇本。嘗試改變它到別的東西。 –