我可以在flink中scalarfunction的open函数中初始化数据Map吗

wqlqzqxt  于 2021-06-24  发布在  Flink
关注(0)|答案(1)|浏览(505)

我实现了一个定制的scalarfunction类,我想在open()函数中初始化一个从数据库读取数据的hashmap,但它总是卡在那里,所以像这样使用open()函数是正确的方法吗?以及open()函数被调用的次数,一次或与eval()函数相同的次数。我的示例代码如下:

public class GenNameUDF extends ScalarFunction {

    @Override
    public void open(FunctionContext context) throws Exception {
        super.open(context);
        CommonClass.map = initMap();//here will read data from db

    }

    public String eval(String pubIp) {

         return todo();
    }
}
vddsk6oq

vddsk6oq1#

如果数据库中的数据量很小,则只能使用广播访问数据库一次
否则,您可以在open方法中构建连接,并在需要时访问db
-yt$文件也很有用。

相关问题