栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

大数据平台-SQL语法树解析器[calcite]使用

大数据平台-SQL语法树解析器[calcite]使用

随着大数据技术的发展,国内大部分一线企业都开始自研大数据平台/流式平台/离线平台,在大数据平台产品中由于底层执行引擎种类较多,
如常见的kylin/clickhouse/hive/spark等,怎样让用户可以通过简单的方式来表达执行思路,好在这些开源框架都对外提供了sql语法,这使得用户只需要针对单独的执行引擎进行查询即可,
但每种数据库的方言截然不同,就像mysql的字符串截取SUBSTRING函数 到了oracle则必须要换成SUBSTR函数;

SQL方言问题已经成了平台层面上常见的问题,针对这类问题常见的解决思路是对外采用一致的标准SQL语法,对用户完全屏蔽底层引擎,
通过开发一个SQL语法解析服务,将标准SQL解析成各类引擎方言,从而实现一套SQL,到处执行;

基于平台层面架构设计如下图[简约版],本人目前使用的是Flink中的语法解析工具apache-calcite语法解析包,由于网上资料较少,目前已实现了一个简单的Demo项目,已发布到GitHub上:
https://github.com/gl0726/bdp-bigdata-common/tree/master/sql-parser-common

若有收获,欢迎star。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/757987.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号