ClickHouse数据导入

本文详细介绍了如何在ClickHouse中导入数据,从下载样本数据、创建数据库和数据表,到设置数据表字段类型和表引擎,再到数据导入、检查及查询操作。特别提到MergeTree和CollapsingMergeTree表引擎的特性,以及数据压缩的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ClickHouse数据导入

参照ClickHouse官方教程来导入样本数据:

下载样本数据

curl https://clickhouse-datasets.s3.yandex.net/hits/tsv/hits_v1.tsv.xz | unxz --threads=`nproc` > hits_v1.tsv

curl https://clickhouse-datasets.s3.yandex.net/visits/tsv/visits_v1.tsv.xz | unxz --threads=`nproc` > visits_v1.tsv

其中,hits_v1.tsv约7.3G,visits_v1.tsv约2.5G。

创建数据库

-- 创建数据库
create database if not exists tutorial

-- 查看数据库
show databases

-- 切换数据库
use tutorial

创建数据表

因为官方文档中的建表语句有换行,因此需要在文本编辑器中先在每行末尾添加\,再复制到clickhouse-client执行,。

VS Code在每行末尾添加\的做法:

  1. 打开VS Code,复制粘贴内容到一个新的文件中。

  2. 按下Alt+ Command + F,选中Use Regular Expression,将\n替换为\ \n

创建hits_v1表:

CREATE TABLE tutorial.hits_v1 \ 
( \ 
    `WatchID` UInt64, \ 
    `JavaEnable` UInt8, \ 
    `Title` String, \ 
    `GoodEvent` Int16, \ 
    `EventTime` DateTime, \ 
    `EventDate` Date, \ 
    `CounterID` UInt32, \ 
    `ClientIP` UInt32, \ 
    `ClientIP6` FixedString(16), \ 
    `RegionID` UInt32, \ 
    `UserID` UInt64, \ 
    `CounterClass` Int8, \ 
    `OS` UInt8, \ 
    `UserAgent` UInt8, \ 
    `URL` String, \ 
    `Referer` String, \ 
    `URLDomain` String, \ 
    `RefererDomain` String, \ 
    `Refresh` UInt8, \ 
    `IsRobot` UInt8, \ 
    `RefererCategories` Array(UInt16), \ 
    `URLCategories` Array(UInt16), \ 
    `URLRegions` Array(UInt32), \ 
    `RefererRegions` Array(UInt32), \ 
    `ResolutionWidth` UInt16, \ 
    `ResolutionHeight` UInt16, \ 
    `ResolutionDepth` UInt8, \ 
    `FlashMajor` UInt8, \ 
    `FlashMinor` UInt8, \ 
    `FlashMinor2` String, \ 
    `NetMajor` UInt8, \ 
    `NetMinor` UInt8, \ 
    `UserAgentMajor` UInt16, \ 
    `UserAgentMinor` FixedString(2), \ 
    `CookieEnable` UInt8, \ 
    `JavascriptEnable` UInt8, \ 
    `IsMobile` UInt8, \ 
    `MobilePhone` UInt8, \ 
    `MobilePhoneModel` String, \ 
    `Params` String, \ 
    `IPNetworkID` UInt32, \ 
    `TraficSourceID` Int8, \ 
    `SearchEngineID` UInt16, \ 
    `SearchPhrase` String, \ 
    `AdvEngineID` UInt8, \ 
    `IsArtifical` UInt8, \ 
    `WindowClientWidth` UInt16, \ 
    `WindowClientHeight` UInt16, \ 
    `ClientTimeZone` Int16, \ 
    `ClientEventTime` DateTime, \ 
    `SilverlightVersion1` UInt8, \ 
    `SilverlightVersion2` UInt8, \ 
    `SilverlightVersion3` UInt32, \ 
    `SilverlightVersion4` UInt16, \ 
    `PageCharset` String, \ 
    `CodeVersion` UInt32, \ 
    `IsLink` UInt8, \ 
    `IsDownload` UInt8, \ 
    `IsNotBounce` UInt8, \ 
    `FUniqID` UInt64, \ 
    `HID` UInt32, \ 
    `IsOldCounter` UInt8, \ 
    `IsEvent` UInt8, \ 
    `IsParameter` UInt8, \ 
    `DontCountHits` UInt8, \ 
    `WithHash` UInt8
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值