除上述功能外,BIPlatform還支持快速環上配置和用戶自定義功能配置支持。
關於快速環比配置,類似於普通計算指標的配置。接下來,我們將關註如何支持用戶定義的函數:
/* *寫自定義函數類,比如這個函數主要實現兩個數的相加*/
公共類UserDefFunction2擴展了FunctionNode {
/**
?*?
?*/
private static final long serialVersionUID =-2557343941040637669 l;
public UserDefFunction2 () {
}
?
/* *抽象方法,必須實現它來標識用戶定義的函數名*/
@覆蓋
公共字符串getName () {
返回“UDF 2”;
}
/* *可以參考這個實現。該方法主要用於批量計算時分組設置參數,以提高計算性能*/
@覆蓋
公開地圖& lt條件,設置& lt字符串& gt& gtmergeCondition(節點node) {
返回node . collectvariablecondition();
}
/* *計算邏輯實現,可以根據函數特性實現函數的具體計算邏輯*/
@覆蓋
公共計算機結果getResult(CompileContext上下文)引發IllegalCompileContextException {
Node args = getArgs()。get(0);
Node args2 = getArgs()。get(1);
SingleComputeResult RS =(SingleComputeResult)args . get result(context);
SingleComputeResult RS 1 =(SingleComputeResult)args 2 . get result(context);
返回新的single computer result(RS . get data()。add(RS 1 . get data());
}
/* *在計算之前必須執行以檢查參數*/
@覆蓋
public int getArgsLength() {
return 2;
}
?
}
啟動程序時,將函數註入執行上下文:
register function . register(" UDF 2 ",userdeffunction 2 . class);
用表達式:udf(${m3},1)配置計算成員,實現${m3}+1的計算。