MySQL数据导入到ClickHouse
创建表
create database test;
use test;
导入数据
CREATE TABLE dg_sku_inventory_day ENGINE = MergeTree ORDER BY id AS SELECT * FROM mysql('192.168.1.20:3306', 'dgdata', 'dg_sku_inventory_day', 'root', '123456');
前提条件:
MySQL的主键必须为not null
192.168.1.20:3306 为MySQL的IP地址和端口号
dgdata 为MySQL的库,作为数据源的
dg_sku_inventory_day 为MySQL的表,源表
root 为MySQL的账号
123456 为MySQL的账号对应的密码 账号需要具备远程连接访问的权限。
解释:导入数据598万行,耗时82.305,总大小1.31GB 最后一次每秒7.264万行导入,每秒导入15.89MB的数据。 注意: 1.order by 必须存在,字段大小要和MySQL的大小写一样 2.主键列在MySQL中必须定义为NOT NULL(报错:DB::Exception: Sorting key cannot contain nullable columns.) 3.导入速度和mysql的列有关,若列较少导入的更快,和硬件的读取写入速度,网络带宽也有影响。 4.支持从TiDB和MySQL直接读取数据。
查看表结构
clickhouse 左图 mysql 右图
这时候,发现mysql中字段inventory_money 原本是decimal类型的,在clickhouse变成了String类型。
ClickHouse 与 Mysql 字段映射关系比表
ClickHouse | MySQL | Comment |
UInt8, UInt16, UInt32, UInt64 | TINYINT UNSIGNED, SMALLINT UNSIGNED, INT UNSIGNED, BIGINT UNSIGNED | |
Int8, Int16, Int32, Int64 | TINYINT SIGNED, SMALLINT SIGNED, INT SIGNED, BIGINT SIGNED | |
Float32, Float64 | FLOAT, DOUBLE | Supports inf, -inf, nan, recommended NOT to use by ClickHouse! |
String | BLOB, TEXT, VARCHAR, VARBINARY | No encoding. Recommended to use UTF-8. In fact behaves like a BLOB. |
FixedString(n) | CHAR, BINARY | \0 padded. Less functions available than String, in fact it behaves like BINARY. |
Date | DATE | UNIX epoch date up to 2038. |
DateTime | DATETIME, TIMESTAMP | UNIX epoch timestamp up to 2038. |
Enum | ENUM | Similar to MySQL ENUM. Behaves like Int8/16. |
Array(type) | n.a. | Array of type. Closest equivalent in MySQL is JSON? Not well supported. |
Tuple() | n.a. | |
Nested() | n.a. | Closest equivalent in MySQL is JSON? |
AggregateFunction() | n.a. | |
Set | n.a. | |
Expression | n.a. |
您的资助是我最大的动力!
金额随意,欢迎来赏!

标签:
clickhouse
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App