为什么在一个会话里,定义过的自定义函数会报错Unrecognized的错误

对一个数据库使用以下的查询语句

login("admin", "123456")

def my_func(x){
    return mean(x) + std(x);
}

select count(qty) from loadTable("dfs://test", "test") where price < contextby(my_func, price, sym) group by sym

在同一个会话里,会话没有关闭过,差不多过了几个小时,我再次执行:

select count(qty) from loadTable("dfs://test""test"where price < contextby(my_func, price, sym) group by sym

出现下面的错误:

Unrecognized column name my_func

我明明已经在这个会话里面申明过这个函数了,请问怎么再次执行就无法识别这个函数了?

请先 登录 后评论

1 个回答

chenweijian

有一种情况是在这个长连接没有关闭的这几个小时里出现网络波动,造成连接实际上已经断开。

解决方法1:重新执行以下函数的定义声明。

解决方法2:重新创建一个新的连接,重新执行一遍所有脚本。

请先 登录 后评论