【详述】按照官网文档测试UDF函数,执行时报错:CBO Optimizer don’t support UDF function: udf_json_get
【StarRocks版本】2.1.0
【集群规模】例如:1fe+3be
【背景】创建函数
public class UDFTest {
public final String evaluate(String obj, String key) {
if (obj == null || key == null) return null;
try {
// JSONPath 库可以全部展开,即使某个字段的值是 JSON 格式的字符串
return JSONPath.read(obj, key).toString();
} catch (Exception e) {
return null;
}
}
}
这个应该是版本的问题,需要升级到2.2.0正式版才可以
升级到了2.2.0正式版,函数可以创建,但使用的时候有这个错误,帮忙看一下:
SQL 错误 [1064] [42000]: rpc failed, host: 10.49.XX.XX
查询语句也是按照官网来的: ```
SELECT MY_UDF_JSON_GET(’{“key”:"{\“in\”:2}"}’, ‘$.key.in’);
确认下这个be节点状态正常吗?状态正常的话可以在这台be日志里面查下具体报错。
已解决,jdk的问题,谢谢!
请问下是没配置jdk还是哪里的问题呢?
之前用的jre环境,改成了jdk,另外把JAVA_HOME配置到了be,fe的启动脚本里。
已解决,fe配置的问题