腾讯云数据仓库 TCHouse-D SQL 转换器(集群操作)

TCHouse-D SQL 转换功能是降低用户迁移和使用成本的重要工具,核心功能是支持自动将其 Trino/Presto、Hive、Spark SQL、ClickHouse 编写的查询语句,转换为语法和语义上等效的 Apache Doris SQL 语句。

相关产品
腾讯云数据仓库 TCHouse-D 产品页,含版本规格、价格与购买入口。

功能介绍

TCHouse-D 的 SQL 转换器支持在引擎层启动 SQL 转换器进程方便外部调用的自动使用,也可在 SQL 工作区通过页面功能的转换器弹窗执行方言转换并一键应用到 SQL 编辑器中。

注意:说明:

一、功能一:TCHouse-D 控制台一键开启(存在方言兼容性可能引入查询阻断,请慎重开通)

TCHouse-D 在 2026 年 5 月的新版本中,将 SQL 转换器集成到了控制台,支持集群粒度一键开启,无需手动部署服务。

二、操作步骤

1. 登录 腾讯云数据仓库 TCHouse-D 控制台。

2. 在集群列表中选择目标集群,在集群操作列中选择开启SQL转换器开关,一键开启。

注意:说明:

注意:在控制台中开启后,系统自动在 FE 节点部署并启动 SQL Converter 服务,无需手动配置 sql_converter_service_url。

三、使用方式一:Session 级方言设置

在 SQL 工作区或 JDBC 连接中,直接设置会话方言后编写原始 SQL:

— 1. 设置来源方言SET sql_dialect = 'presto'; — 2. 直接写 Presto 语法 SQL,Doris 自动转译执行SELECT date_format(cast(order_time AS timestamp), '%Y-%m') AS month, count(*) AS cntFROM ordersGROUP BY 1ORDER BY 1;– 3. 用完切回默认SET sql_dialect = 'doris';

参数 说明
sql_dialect 会话变量,仅对当前会话生效
支持值 presto / trino / clickhouse / hive / postgresql / spark / oracle
生效范围 当前 Session,连接断开后重置

四、使用方式二:SQL_CONVERT 函数(单条转换)

— 语法:SQL_CONVERT('source_dialect', 'raw_sql')SELECT SQL_CONVERT('clickhouse', 'SELECT toYYYYMM(create_time), count() FROM user_log GROUP BY toYYYYMM(create_time)');

返回结果就是转后的 Doris SQL 文本,可以再复制执行:

— 返回转译结果:SELECT date_format(create_time, '%Y%m'), count(*) FROM user_log GROUP BY date_format(create_time, '%Y%m')

五、功能二:SQL 工作区使用转换器(推荐)

TCHouse-D 的 SQL 工作区已原生集成 SQL 转换器功能。

六、操作步骤

1. 登录 TCHouse-D 控制台,选择目标集群进入 SQL 工作区。

2. 在 SQL 编辑器上方找到 SQL 转换器入口。

3. 选择来源方言(例如 Presto、ClickHouse 等等)。

4. 输入或粘贴需要转换的 SQL 语句。

5. 单击。

6. 转换结果支持一键应用到编辑器中,可直接执行。

注意:说明:

注意:SQL 转换器面对 AS Tables 时,不支持子查询的大小写转换。

七、支持的 SQL 方言

DQL(查询)方言支持:

方言 兼容度 典型转换场景
Presto 99.6% 日期函数、数组函数、标识符改写
Trino 高 approx_distinct > APPROX_COUNT_DISTINCT
ClickHouse 98% toString > CAST、arrayCompact > array_distinct
Hive SQL 高 LATERAL VIEW > CROSS JOIN、date_format 适配
PostgreSQL 高 类型系统、函数映射
Spark 高 Spark SQL 语法适配

八、DDL(建表语句)方言支持:

从 Doris SQL Converter 1.0.3 版本起,支持以下方言的 DDL 转换:

方言 DDL 转换支持说明
Hive 建表语句转换为 Doris DDL
Presto (PrestoDB) 建表语句转换为 Doris DDL
ClickHouse 建表语句转换为 Doris DDL,函数兼容性大幅提升
Oracle 建表语句转换为 Doris DDL
PostgreSQL 建表语句转换为 Doris DDL

注意:说明:

注意:转换流程:用户 SQL > FE 识别方言 > HTTP 调用 Converter 服务 > 方言转换 > Doris 标准 SQL > Nereids Parser 解析 > 生成执行计划 > BE 执行

赞 (0)
上一篇 4天前
下一篇 4天前