druid不支持mysql的json_table吗?怎么试都没有用。修改了permit-fuction也没用
原提问者GitHub用户yuchengqian
ruid实际上支持MySQL的JSON相关函数,包括json_table()。
需要注意以下几点:
1.Druid需要使用1.1.10或更高版本
低于1.1.10版本的Druid,其内置的SQL解析器JsqlParser不支持JSON函数。
2.需要配置permit-function-literals启用函数名称字符串的支持。默认是禁用的。
1.2.2可行,最低版本
低于这个直接报错
uncategorized SQLException; SQL state [null]; error code [0]; sql injection violation, dbType mysql, , druid-version 1.2.1, syntax error: syntax error, expect ), actual IDENTIFIER pos 480, line 24, column 16, token IDENTIFIER COLUMNS
原回答者GitHub用户xb12369
Druid不直接支持MySQL的JSON_TABLE
函数,因为Druid是一个分布式列存储数据库,它的查询语言和功能与传统的关系型数据库有所不同。Druid主要用于实时数据分析和可扩展的OLAP(联机分析处理)工作负载。
如果你想在Druid中使用JSON_TABLE
的功能,你需要考虑其他方法来实现相似的数据处理。以下是一些可能的解决方案:
预处理数据:在将数据导入Druid之前,可以使用ETL工具或编程语言(如Python)预处理数据,将JSON数据转换为适合Druid的表格格式。这样你就可以利用Druid的强大查询能力进行分析。
自定义UDF(用户定义函数):Druid允许你自定义函数,通过实现自定义UDF,在Druid查询过程中对JSON数据进行提取、转换和聚合。你可以使用Java来编写UDF,并将其部署到Druid集群中。
请注意,修改Druid的配置文件(如permit-function
)可能不会影响Druid对MySQL特定函数的支持,因为Druid没有直接内置这些函数。
综上所述,要在Druid中处理类似于JSON_TABLE
的任务,你需要采用其他方法,如预处理数据或自定义UDF。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。