ClickHouse 云快速入门
获取并运行 ClickHouse 的最快、最简单的方法是在 ClickHouse Cloud 中创建一个新服务。
1. 创建 ClickHouse 服务
要在 ClickHouse Cloud 中创建免费 ClickHouse 服务,您只需通过以下步骤注册:
- 在 注册页面 创建一个帐户
- 您可以选择使用电子邮件或通过 Google SSO、Microsoft SSO、AWS Marketplace、Google Cloud 或 Microsoft Azure 注册
- 如果您使用电子邮件和密码注册,请记住在收到的电子邮件中的链接内的 24 小时内验证您的电子邮件地址
- 使用刚创建的用户名和密码登录

登录后,ClickHouse Cloud 启动入职向导,指导您创建新的 ClickHouse 服务。您将首先被要求 选择一个计划:

我们建议对大多数工作负载选择 Scale 级别。 有关层的更多详细信息,请参见 这里
选择计划时,您需要选择要部署首个服务的目标区域。 可用的具体选项将取决于所选级别。 在以下步骤中,我们假设用户选择了推荐的 Scale 级别。
选择要部署服务的区域,并为您的新服务命名:

默认情况下,Scale 级别将创建 3 个副本,每个副本具有 4 个 VCPUs 和 16 GiB RAM。默认情况下,将在 Scale 级别启用 垂直自动缩放。
用户可以根据需要自定义服务资源,指定副本之间缩放的最小和最大大小。准备就绪后,选择 创建服务
。

恭喜!您的 ClickHouse Cloud 服务已启动并运行,入职流程完成。继续阅读以获取有关如何开始摄取和查询您的数据的详细信息。
2. 连接到 ClickHouse
连接到 ClickHouse 有两种方法:
- 通过我们的基于网络的 SQL 控制台连接
- 与您的应用程序连接
使用 SQL 控制台连接
为了快速入门,ClickHouse 提供了一个基于 Web 的 SQL 控制台,您将在完成入职后被重定向到此控制台。

创建一个查询标签并输入简单的查询以验证您的连接是否正常工作:
您应该在列表中看到 4 个数据库,以及您可能已添加的任何数据库。

就这样 - 您已准备好开始使用您的新 ClickHouse 服务!
与您的应用程序连接
从导航菜单中按下连接按钮。一个模态框将打开,提供您的服务凭据,并提供有关如何与您的接口或语言客户端连接的一组说明。

如果您看不到您的语言客户端,您可能希望查看我们的 集成列表。
3. 添加数据
ClickHouse 处理数据时效果更佳!有多种添加数据的方法,其中大多数可以在数据源页面上找到,该页面可以在导航菜单中访问。

您可以使用以下方法上传数据:
- 设置一个 ClickPipe 以开始从 S3、Postgres、Kafka、GCS 等数据源摄取数据
- 使用 SQL 控制台
- 使用 ClickHouse 客户端
- 上传文件 - 支持的格式包括 JSON、CSV 和 TSV
- 从文件 URL 上传数据
ClickPipes
ClickPipes 是一个管理集成平台,可以通过单击几下按钮来简单地从各种来源摄取数据。为最苛刻的工作负载而设计,ClickPipes 的强大且可扩展的架构可确保一致的性能和可靠性。ClickPipes 可用于长期流媒体需求或一次性数据加载作业。

使用 SQL 控制台添加数据
与大多数数据库管理系统一样,ClickHouse 将表按逻辑分组为 数据库。使用 CREATE DATABASE
命令在 ClickHouse 中创建一个新数据库:
运行以下命令在 helloworld
数据库中创建名为 my_first_table
的表:
在上面的示例中,my_first_table
是具有四列的 MergeTree
表:
user_id
: 32 位无符号整数(UInt32)message
: String 数据类型,替代其他数据库系统中的VARCHAR
、BLOB
、CLOB
等类型timestamp
: DateTime 值,表示某一时刻metric
: 32 位浮点数(Float32)
对主键的简要介绍
在继续之前,了解 ClickHouse 中主键的工作原理是很重要的(主键的实现可能看起来出乎意料!):
- ClickHouse 中的主键对表中的每一行 不是唯一的
ClickHouse 表的主键决定了数据写入磁盘时的排序方式。每 8,192 行或 10MB 数据(称为 索引粒度)会在主键索引文件中创建一个条目。这个粒度概念创建了一个 稀疏索引,可以轻松地适应内存,粒度表示在 SELECT
查询期间处理的最小列数据块。
主键可以使用 PRIMARY KEY
参数定义。如果您定义一个未指定 PRIMARY KEY
的表,则键成为 ORDER BY
子句中指定的元组。如果您同时指定了 PRIMARY KEY
和 ORDER BY
,则主键必须是排序顺序的子集。
主键也是排序键,即 (user_id, timestamp)
的元组。因此,存储在每个列文件中的数据将按 user_id
然后按 timestamp
进行排序。
要深入了解 ClickHouse 的核心概念,请参见 “核心概念”。
将数据插入您的表
您可以使用熟悉的 INSERT INTO TABLE
命令,但重要的是要了解,每次插入到 MergeTree
表中都会在存储中创建一个 部分。
每批插入大量行 - 幾万行甚至數百万行一次。别担心 - ClickHouse 轻松处理这种体积,并且通过发送更少的写请求到您的服务来 节省您的资金。
即使是一个简单的示例,让我们插入多于一行的数据:
让我们验证它是否成功:
使用 ClickHouse 客户端添加数据
您还可以使用名为 clickhouse 客户端 的命令行工具连接到您的 ClickHouse Cloud 服务。单击左侧菜单中的 连接
以访问这些详细信息。在对话框中从下拉菜单中选择 Native
:

-
安装 ClickHouse。
-
运行命令,替换您的主机名、用户名和密码:
如果您看到笑脸提示符,则说明您已准备好运行查询!
- 通过运行以下查询来尝试一下:
请注意,响应以良好的表格格式返回:
- 添加
FORMAT
子句以指定 ClickHouse 支持的多种输出格式之一:
在上面的查询中,输出返回为制表符分隔:
- 要退出
clickhouse client
,输入 exit 命令:
上传文件
入门数据库时的常见任务是插入一些您已经在文件中的数据。我们在线提供一些示例数据,您可以插入这些数据,这些数据代表点击流数据 - 包括用户 ID、访问的 URL 和事件的时间戳。
假设我们在名为 data.csv
的 CSV 文件中有以下文本:
- 以下命令将数据插入到
my_first_table
中:
- 请注意,如果从 SQL 控制台查询,现在新行会出现在表中:

接下来怎么办?
- 教程 让您向表中插入 200 万行并编写一些分析查询
- 我们有一个 示例数据集列表,附带如何插入它们的说明
- 查看我们 25 分钟的视频,了解 ClickHouse 入门
- 如果您的数据来自外部源,请查看我们的 集成指南集合,以连接消息队列、数据库、管道等
- 如果您使用的是 UI/BI 可视化工具,请查看 连接 UI 到 ClickHouse 的用户指南
- 主键 的用户指南是您需要了解的有关主键及其定义的所有信息