当前位置: 首页 > news >正文

doris:ClickHouse

Doris JDBC Catalog 支持通过标准 JDBC 接口连接 ClickHouse 数据库。本文档介绍如何配置 ClickHouse 数据库连接。

使用须知​

要连接到 ClickHouse 数据库,您需要

  • ClickHouse 23.x 或更高版本 (低于此版本未经充分测试)。

  • ClickHouse 数据库的 JDBC 驱动程序,您可以从 Maven 仓库下载最新或指定版本的 ClickHouse JDBC 驱动程序。推荐使用 ClickHouse JDBC Driver 0.4.6 版本。

  • Doris 每个 FE 和 BE 节点和 ClickHouse 服务器之间的网络连接,默认端口为 8123。

连接 ClickHouse​

CREATE CATALOG clickhouse PROPERTIES (
    "type"="jdbc",
    "user"="default",
    "password"="password",
    "jdbc_url" = "jdbc:clickhouse://example.net:8123/",
    "driver_url" = "clickhouse-jdbc-0.4.6-all.jar",
    "driver_class" = "com.clickhouse.jdbc.ClickHouseDriver"
)

备注

jdbc_url 定义要传递给 ClickHouse JDBC 驱动程序的连接信息和参数。 支持的 URL 的参数可在 ClickHouse JDBC 驱动配置 中找到。

连接安全​

如果您使用数据源上安装的全局信任证书配置了 TLS,则可以通过将参数附加到在 jdbc_url 属性中设置的 JDBC 连接字符串来启用集群和数据源之间的 TLS。

例如,通过将 ssl=true 参数添加到 jdbc_url 配置属性来启用 TLS:

"jdbc_url"="jdbc:clickhouse://example.net:8123/db?ssl=true"

有关 TLS 配置选项的更多信息,请参阅 Clickhouse JDBC 驱动程序文档 SSL 配置部分

层级映射​

映射 ClickHouse 时,Doris 的一个 Database 对应于 ClickHouse 中的一个 Database。而 Doris 的 Database 下的 Table 则对应于 ClickHouse 中,该 Database 下的 Tables。即映射关系如下:

DorisClickHouse
CatalogClickHouse Server
DatabaseDatabase
TableTable

类型映射​

ClickHouse 到 Doris 类型映射​

ClickHouse TypeDoris TypeComment
BoolBOOLEAN
StringSTRING
Date/Date32DATE
DateTime/DateTime64DATETIME
Float32FLOAT
Float64DOUBLE
Int8TINYINT
Int16/UInt8SMALLINTDoris 没有 UNSIGNED 数据类型,所以扩大一个数量级
Int32/UInt16INTDoris 没有 UNSIGNED 数据类型,所以扩大一个数量级
Int64/Uint32BIGINTDoris 没有 UNSIGNED 数据类型,所以扩大一个数量级
Int128/UInt64LARGEINTDoris 没有 UNSIGNED 数据类型,所以扩大一个数量级
Int256/UInt128/UInt256STRINGDoris 没有这个数量级的数据类型,采用 STRING 处理
DECIMALDECIMALV3/STRING将根据 DECIMAL 字段的(precision, scale) 选择用何种类型
Enum/IPv4/IPv6/UUIDSTRING
ArrayARRAYArray 内部类型适配逻辑参考上述类型
OtherUNSUPPORTED

查询优化​

谓词下推​

  1. 当执行类似于 where dt = '2022-01-01' 这样的查询时,Doris 能够将这些过滤条件下推到外部数据源,从而直接在数据源层面排除不符合条件的数据,减少了不必要的数据获取和传输。这大大提高了查询性能,同时也降低了对外部数据源的负载。

  2. 当变量 enable_ext_func_pred_pushdown 设置为 true,会将 where 之后的函数条件也下推到外部数据源。

    目前支持下推到 ClickHouse 的函数有:

    Function
    FROM_UNIXTIME
    UNIX_TIMESTAMP

行数限制​

如果在查询中带有 limit 关键字,Doris 会将 limit 下推到 ClickHouse,以减少数据传输量。

转义字符​

Doris 会在下发到 ClickHouse 的查询语句中,自动在字段名与表名上加上转义符:(""),以避免字段名与表名与 ClickHouse 内部关键字冲突。


文章转载自:

http://0HWxGtEP.zfqdt.cn
http://s0MVEjmy.zfqdt.cn
http://3gD8CovW.zfqdt.cn
http://x0AfXcPR.zfqdt.cn
http://oJoT1DDa.zfqdt.cn
http://RkpPtBzq.zfqdt.cn
http://FEYP6wez.zfqdt.cn
http://3zZCYMon.zfqdt.cn
http://IDYIUrgf.zfqdt.cn
http://hVak5sCL.zfqdt.cn
http://5kyi25lh.zfqdt.cn
http://nrYjzcvX.zfqdt.cn
http://C2C3voml.zfqdt.cn
http://mCg3gIv8.zfqdt.cn
http://BRVOhkV4.zfqdt.cn
http://AAy65hNu.zfqdt.cn
http://D6YlCoBB.zfqdt.cn
http://8iQMxGUV.zfqdt.cn
http://HVb0Wr8l.zfqdt.cn
http://A39gKnF9.zfqdt.cn
http://IXSYQJDd.zfqdt.cn
http://rtgu9mfP.zfqdt.cn
http://UXlzDxhv.zfqdt.cn
http://1DfhNhuE.zfqdt.cn
http://OlQw9k1x.zfqdt.cn
http://Oq2iwErp.zfqdt.cn
http://0zTlR8Eb.zfqdt.cn
http://arJdr6dQ.zfqdt.cn
http://rdYXsehM.zfqdt.cn
http://4NH5uHdR.zfqdt.cn
http://www.dtcms.com/a/57509.html

相关文章:

  • VAD入门(基于Python)
  • 提升数据库性能与可靠性:深入解析MySQL主从复制
  • 使用 Prim 算法生成了最小生成树, 使用 Fleury 算法生成了欧拉回路,尝试找到了一个简单的哈密尔顿圈。
  • 用友 U8出入库查询SQL 连接UNION ALL
  • 1.12.信息系统的分类【ES】
  • C#编译自动增加文件的版本号
  • Ubuntu 下 nginx-1.24.0 源码分析 - conf_ctx
  • NO.24十六届蓝桥杯备战|二维数组八道练习|杨辉三角|矩阵(C++)
  • IDEA 的 EasyCode 插件使用指南:从入门到自定义模板
  • Docker基础篇——Ubuntu下Docker安装
  • 多条件查询--java算法
  • OkHttp:工作原理 拦截器链深度解析
  • 垂直领域大模型优化:从“通用”到“专精”——打造医疗、金融、法律领域的AI专家
  • 解决stylelint对deep报错
  • C++:string容器(下篇)
  • Qt常用控件之树形QTreeWidget
  • 系统架构设计师—系统架构设计篇—基于体系结构的软件开发方法
  • 可变参数与递归
  • R软件线性模型与lmer混合效应模型对生态学龙类智力测试数据层级结构应用
  • OmniDrive(2):环境搭建
  • 视觉在协作机器人上的场景应用
  • STM32之PWR
  • 手写识别革命:Manus AI如何攻克多语言混合识别难题(二)
  • DeepSeek R1-7B 医疗大模型微调实战全流程分析(全码版)
  • 机器学习的发展史
  • 如何设计评论系统
  • 【计网】应用层
  • c语言程序设计--(数据的存储)冲刺考研复试面试简答题,看看我是怎么回答的吧!!!!!
  • C++设计模式总结
  • 最长递增子序列--蓝桥oj3046拍照