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

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

我们建议大多数工作负载使用 Scale 级别。 有关级别的更多详细信息,请参见 这里
选择一个计划需要您选择希望部署第一个服务的区域。 可用的确切选项将取决于所选的级别。 在以下步骤中,我们假设用户选择了推荐的 Scale 级别。
选择您想要部署服务的区域,并给您的新服务命名:

默认情况下,Scale 级别将创建每个具有 4 个 VCPU 和 16 GiB RAM 的 3 个副本。Scale 级别将默认启用 垂直自动扩展。
用户可以根据需要自定义服务资源,指定副本的最小和最大大小以实现扩展。当准备就绪时,选择 创建服务
。

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

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

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

如果您无法看到您的语言客户端,您可能想查看我们的 集成列表。
添加数据
ClickHouse 在有数据时表现更好!有多种方法可以添加数据,其中大多数可以在数据源页面上找到,该页面可以通过导航菜单访问。

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

使用 SQL 控制台添加数据
像大多数数据库管理系统一样,ClickHouse 将表 logically group 成 数据库。使用 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
命令与 ClickHouse,但重要的是要理解每次插入一个 MergeTree
表时都会在存储中创建一个 部分。
每批插入大量行 - 一次数万行或数百万行。不要担心 - ClickHouse 可以轻松处理这种体量 - 而且它将通过向您的服务发送更少的写请求来 为您节省资金。
即使是一个简单的示例,让我们一次插入多于一行:
让我们验证一下是否成功:
使用 ClickHouse 客户端添加数据
您还可以使用名为 clickhouse client 的命令行工具连接到您的 ClickHouse Cloud 服务。单击左侧菜单中的 连接
以访问这些详细信息。从对话框中选择 Native
。

-
安装 ClickHouse。
-
运行命令,替换您的主机名、用户名和密码:
如果您看到微笑表情符号提示,您就可以运行查询了!
- 尝试运行以下查询:
注意响应以漂亮的表格格式返回:
- 添加一个
FORMAT
子句来指定 ClickHouse 支持的多种输出格式之一:
在上述查询中,输出作为制表符分隔返回:
- 要退出
clickhouse client
,输入 exit 命令:
上传文件
开始使用数据库时一项常见任务是插入您已经存在于文件中的一些数据。我们有一些在线示例数据,可以插入,表示点击流数据 - 包括用户 ID、访问的 URL 和事件的时间戳。
假设我们在名为 data.csv
的 CSV 文件中有以下文本:
- 以下命令将数据插入到
my_first_table
:
- 如果从 SQL 控制台查询,现在注意新行出现在表中:

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