7.11 SQL 方言兼容¶
Tip
从 2.1 版本开始, Doris 可以支持多种 SQL 方言,如 Presto 、 Trino 、 Hive 、 PostgreSQL 、 Spark 、 Clickhouse 等等。通过这个功能,用户可以直接使用对应的 SQL 方言查询 Doris 中的数据,方便用户将原先的业务平滑的迁移到 Doris 中。
Warning
该功能目前是实验性功能,您在使用过程中如遇到任何问题,欢迎通过邮件组、 GitHub Issue 等方式进行反馈。
1 部署服务¶
-
下载最新版本的
SQL方言转换工具Tip
SQL方言转换工具基于开源的SQLGlot,由SelectDB进行二次开发,关于SQLGlot可参阅SQLGlot官网。SQL Convertor并非由Apache Doris维护或认可,这些工作由Committers和Doris PMC监督。使用这些资源和服务完全由您自行决定,社区不负责验证这些工具的许可或有效性。 -
在任意
FE节点,通过以下命令启动服务:Bash 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
# 配置服务端口 vim apiserver/conf/config.conf # 启动 SQL Converter for Apache Doris 转换服务 sh apiserver/bin/start.sh # 如需前端界面, 可在 webserver 中配置相应的端口并启动, 不需要前端则可以忽略以下操作 vim webserver/conf/config.conf # 启动前端界面 sh webserver/bin/start.shTip
-
该服务是一个无状态的服务,可随时启停
-
在
apiserver/conf/config.conf中配置port来指定任意一个可用端口,配置workers来指定启动的线程数量。在并发场景中,可以根据需要调整,默认为1 -
建议在每个
FE节点都单独启动一个服务 -
如需启动前端界面,可以在
webserver/conf/config.conf中配置SQL Converter for Apache Doris转换服务地址,默认是API_HOST=<http://127.0.0.1:5001>
-
-
启动
Doris集群(2.1或更高版本) -
通过以下命令,在
Doris中设置SQL方言转换服务的URL:SQL 1MySQL> set global sql_converter_service_url = "<http://127.0.0.1:5001/api/v1/convert>"127.0.0.1:5001是SQL方言转换服务的部署节点ip和端口。
2 使用 SQL 方言¶
目前支持的方言类型包括:
-
presto -
trino -
clickhouse -
hive -
spark -
postgres
示例:
2.1 Presto¶
| SQL | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | |
2.2 Clickhouse¶
| SQL | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | |