ClickHouse(18)ClickHouse集成ODBC表引擎详细解析

这篇具有很好参考价值的文章主要介绍了ClickHouse(18)ClickHouse集成ODBC表引擎详细解析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录
  • 创建表
  • 用法示例
  • 资料分享
  • 系列文章
    • clickhouse系列文章

ODBC集成表引擎使得ClickHouse可以通过ODBC方式连接到外部数据库.

为了安全地实现 ODBC 连接,ClickHouse 使用了一个独立程序 clickhouse-odbc-bridge. 如果ODBC驱动程序是直接从 clickhouse-server中加载的,那么驱动问题可能会导致ClickHouse服务崩溃。 当有需要时,ClickHouse会自动启动 clickhouse-odbc-bridge。 ODBC桥梁程序与clickhouse-server来自相同的安装包.

该引擎支持Nullable数据类型。

创建表

CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]
(
    name1 [type1],
    name2 [type2],
    ...
)
ENGINE = ODBC(connection_settings, external_database, external_table)

表结构可以与源表结构不同:

  • 列名应与源表中的列名相同,但您可以按任何顺序使用其中的一些列。
  • 列类型可能与源表中的列类型不同。 ClickHouse尝试将数值映射到ClickHouse的数据类型。
  • 设置 external_table_functions_use_nulls 来定义如何处理 Nullable 列. 默认值是 true, 当设置为 false 时 - 表函数将不会使用 nullable 列,而是插入默认值来代替 null. 这同样适用于数组数据类型中的 null 值.

引擎参数

  • connection_settings — 在 odbc.ini 配置文件中,连接配置的名称.
  • external_database — 在外部 DBMS 中的数据库名.
  • external_tableexternal_database中的表名.

用法示例

通过ODBC从本地安装的MySQL中检索数据

本示例已经在 Ubuntu Linux 18.04 和 MySQL server 5.7 上测试通过。

请确保已经安装了 unixODBC 和 MySQL Connector。

默认情况下(如果从软件包安装),ClickHouse以用户clickhouse的身份启动. 因此,您需要在MySQL服务器中创建并配置此用户。

$ sudo mysql
mysql> CREATE USER 'clickhouse'@'localhost' IDENTIFIED BY 'clickhouse';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'clickhouse'@'clickhouse' WITH GRANT OPTION;

然后在/etc/odbc.ini中配置连接.

$ cat /etc/odbc.ini
[mysqlconn]
DRIVER = /usr/local/lib/libmyodbc5w.so
SERVER = 127.0.0.1
PORT = 3306
DATABASE = test
USERNAME = clickhouse
PASSWORD = clickhouse

您可以从安装的 unixodbc 中使用 isql 实用程序来检查连接情况。

$ isql -v mysqlconn
+---------------------------------------+
| Connected!                            |
|                                       |
...

MySQL中的表:

mysql> CREATE TABLE `test`.`test` (
    ->   `int_id` INT NOT NULL AUTO_INCREMENT,
    ->   `int_nullable` INT NULL DEFAULT NULL,
    ->   `float` FLOAT NOT NULL,
    ->   `float_nullable` FLOAT NULL DEFAULT NULL,
    ->   PRIMARY KEY (`int_id`));
Query OK, 0 rows affected (0,09 sec)

mysql> insert into test (`int_id`, `float`) VALUES (1,2);
Query OK, 1 row affected (0,00 sec)

mysql> select * from test;
+--------+--------------+-------+----------------+
| int_id | int_nullable | float | float_nullable |
+--------+--------------+-------+----------------+
|      1 |         NULL |     2 |           NULL |
+--------+--------------+-------+----------------+
1 row in set (0,00 sec)

ClickHouse中的表,从MySQL表中检索数据:

CREATE TABLE odbc_t
(
    `int_id` Int32,
    `float_nullable` Nullable(Float32)
)
ENGINE = ODBC('DSN=mysqlconn', 'test', 'test')
SELECT * FROM odbc_t
┌─int_id─┬─float_nullable─┐
│      1 │           ᴺᵁᴸᴸ │
└────────┴────────────────┘

资料分享

ClickHouse经典中文文档分享文章来源地址https://www.toymoban.com/news/detail-760119.html

系列文章

clickhouse系列文章

  • ClickHouse(01)什么是ClickHouse,ClickHouse适用于什么场景
  • ClickHouse(02)ClickHouse架构设计介绍概述与ClickHouse数据分片设计
  • ClickHouse(03)ClickHouse怎么安装和部署
  • ClickHouse(04)如何搭建ClickHouse集群
  • ClickHouse(05)ClickHouse数据类型详解
  • ClickHouse(06)ClickHouse建表语句DDL详细解析
  • ClickHouse(07)ClickHouse数据库引擎解析
  • ClickHouse(08)ClickHouse表引擎概况
  • ClickHouse(09)ClickHouse合并树MergeTree家族表引擎之MergeTree详细解析
  • ClickHouse(10)ClickHouse合并树MergeTree家族表引擎之ReplacingMergeTree详细解析
  • ClickHouse(11)ClickHouse合并树MergeTree家族表引擎之SummingMergeTree详细解析
  • ClickHouse(12)ClickHouse合并树MergeTree家族表引擎之AggregatingMergeTree详细解析
  • ClickHouse(13)ClickHouse合并树MergeTree家族表引擎之CollapsingMergeTree详细解析
  • ClickHouse(14)ClickHouse合并树MergeTree家族表引擎之VersionedCollapsingMergeTree详细解析
  • ClickHouse(15)ClickHouse合并树MergeTree家族表引擎之GraphiteMergeTree详细解析
  • ClickHouse(16)ClickHouse日志表引擎Log详细解析
  • ClickHouse(17)ClickHouse集成JDBC表引擎详细解析
  • ClickHouse(18)ClickHouse集成ODBC表引擎详细解析
  • ClickHouse(19)ClickHouse集成Hive表引擎详细解析
  • ClickHouse(20)ClickHouse集成PostgreSQL表引擎详细解析
  • ClickHouse(21)ClickHouse集成Kafka表引擎详细解析
  • ClickHouse(22)ClickHouse集成HDFS表引擎详细解析
  • ClickHouse(23)ClickHouse集成Mysql表引擎详细解析

到了这里,关于ClickHouse(18)ClickHouse集成ODBC表引擎详细解析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ClickHouse(24)ClickHouse集成mongodb表引擎详细解析

    目录 MongoDB 创建一张表 用法示例 资料分享 系列文章 clickhouse系列文章 MongoDB 引擎是只读表引擎,允许从远程 MongoDB 集合中读取数据( SELECT 查询)。引擎只支持非嵌套的数据类型。不支持 INSERT 查询。 引擎参数 host:port — MongoDB 服务器地址. database — 数据库名称. collection — 集合

    2024年02月19日
    浏览(41)
  • ClickHouse(19)ClickHouse集成Hive表引擎详细解析

    目录 Hive集成表引擎 创建表 使用示例 如何使用HDFS文件系统的本地缓存 查询 ORC 输入格式的Hive 表 在 Hive 中建表 在 ClickHouse 中建表 查询 Parquest 输入格式的Hive 表 在 Hive 中建表 在 ClickHouse 中建表 查询文本输入格式的Hive表 在Hive 中建表 在 ClickHouse 中建表 资料分享 系列文章

    2024年02月04日
    浏览(47)
  • ClickHouse(16)ClickHouse日志引擎Log详细解析

    这些引擎是为了需要写入许多小数据量(少于一百万行)的表的场景而开发的。 这系列的引擎有: StripeLog Log TinyLog 引擎: 数据存储在磁盘上。 写入时将数据追加在文件末尾。 不支持突变操作,也就是更新。 不支持索引。 非原子地写入数据。 Log 和 StripeLog 引擎支持: 并发

    2024年02月05日
    浏览(43)
  • ClickHouse(14)ClickHouse合并树MergeTree家族表引擎之VersionedCollapsingMergeTree详细解析

    目录 建表语法 使用场景 合并算法 使用例子、 资料分享 系列文章 clickhouse系列文章 VersionedCollapsingMergeTree引擎继承自MergeTree并将折叠行的逻辑添加到合并数据部分的算法中。VersionedCollapsingMergeTree用于相同的目的折叠树但使用不同的折叠算法,允许以多个线程的任何顺序插入

    2024年02月09日
    浏览(48)
  • ClickHouse(15)ClickHouse合并树MergeTree家族表引擎之GraphiteMergeTree详细解析

    GraphiteMergeTree该引擎用来对Graphite数据(图数据)进行瘦身及汇总。对于想使用ClickHouse来存储Graphite数据的开发者来说可能有用。 如果不需要对Graphite数据做汇总,那么可以使用任意的ClickHouse表引擎;但若需要,那就采用GraphiteMergeTree引擎。它能减少存储空间,同时能提高Graphi

    2024年02月08日
    浏览(43)
  • Doris-05-集成Spark、Flink、Datax,以及数据湖分析(JDBC、ODBC、ES、Hive、多源数据目录Catalog)

    准备表和数据: Spark 读写 Doris Spark Doris Connector 可以支持通过 Spark 读取 Doris 中存储的数据,也支持通过Spark写入数据到Doris。 代码库地址:https://github.com/apache/incubator-doris-spark-connector 支持从 Doris 中读取数据 支持 Spark DataFrame 批量/流式 写入 Doris 可以将 Doris 表映射为 DataFra

    2024年02月06日
    浏览(62)
  • Clickhouse分布式表引擎(Distributed)写入核心原理解析

    Clickhouse分布式表引擎(Distributed)写入核心原理解析 Clickhouse分布式表引擎(Distributed)查询核心原理解析 Distributed表引擎是分布式表的代名词,它自身不存储任何数据,而是作为数据分片的透明代理,能够自动路由数据至集群中的各个节点 ,所以Distributed表引擎需要和其他数

    2023年04月27日
    浏览(48)
  • ClickHouse集群搭建及ODBC配置

    192.168.122.100  BCEuler01 192.168.122.101  BCEuler02 192.168.122.102  BCEuler03 # systemctl disable firewalld # systemctl stop firewalld # /etc/selinux/config SELINUX=disabled 将BCEuler01设置为时钟同步源 BEEuler01的/etc/chrony.conf: 修改的部分: server 192.168.122.100 iburst allow 192.168.0.0/16 local stratum 10 BCEuler02的/etc/chrony.co

    2024年02月10日
    浏览(41)
  • ClickHouse(九):Clickhouse表引擎 - Log系列表引擎

      进入正文前,感谢宝子们订阅专题、点赞、评论、收藏!关注IT贫道,获取高质量博客内容! 🏡个人主页:含各种IT体系技术,IT贫道_Apache Doris,Kerberos安全认证,大数据OLAP体系技术栈-CSDN博客 📌订阅:拥抱独家专题,你的订阅将点燃我的创作热情! 👍点赞:赞同优秀创作

    2024年02月13日
    浏览(43)
  • YOLOv5源码逐行超详细注释与解读(1)——项目目录结构解析

    前面简单介绍了YOLOv5的网络结构和创新点(直通车:【YOLO系列】YOLOv5超详细解读(网络详解)) 在接下来我们会进入到YOLOv5更深一步的学习,首先从源码解读开始。 因为我是纯小白,刚开始下载完源码时真的一脸懵,所以就先从最基础的 项目目录结构 开始吧~因为相关解读

    2024年02月03日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包