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.sh
Tip
-
该服务是一个无状态的服务,可随时启停
-
在
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 1
MySQL> 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 |
|