做一个网站app需要多少钱,做网站如何通过流量赚钱,linux wordpress 建站教程,网站开发工程师学什么区别文章目录 创建表用法示例资料分享参考文章 ODBC集成表引擎使得ClickHouse可以通过ODBC方式连接到外部数据库. 为了安全地实现 ODBC 连接#xff0c;ClickHouse 使用了一个独立程序 clickhouse-odbc-bridge. 如果ODBC驱动程序是直接从 clickhouse-server中加载的#xff0c;那… 文章目录 创建表用法示例资料分享参考文章 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_table — external_database中的表名.
用法示例
通过ODBC从本地安装的MySQL中检索数据
本示例已经在 Ubuntu Linux 18.04 和 MySQL server 5.7 上测试通过。
请确保已经安装了 unixODBC 和 MySQL Connector。
默认情况下如果从软件包安装ClickHouse以用户clickhouse的身份启动. 因此您需要在MySQL服务器中创建并配置此用户。
$ sudo mysqlmysql CREATE USER clickhouselocalhost IDENTIFIED BY clickhouse;
mysql GRANT ALL PRIVILEGES ON *.* TO clickhouseclickhouse 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(DSNmysqlconn, test, test)SELECT * FROM odbc_t┌─int_id─┬─float_nullable─┐
│ 1 │ ᴺᵁᴸᴸ │
└────────┴────────────────┘资料分享
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表引擎详细解析