要快速轻松地开始使用 ClickHouse,最简单的方法是在 ClickHouse Cloud 中创建一个新的 服务。在本快速入门指南中,我们将通过三个简单步骤帮你完成设置。
1
创建 ClickHouse 服务
要在 ClickHouse Cloud 中创建免费的 ClickHouse 服务,您只需按以下步骤注册:
登录后,ClickHouse Cloud 会启动引导向导,带您完成新 ClickHouse 服务的创建。选择要部署服务的区域,并为新服务命名:
默认情况下,新 organization 会使用 Scale tier,并创建 3 个副本,每个副本配备 4 个 vCPUs 和 16 GiB RAM。垂直自动扩缩容 在 Scale tier 中默认启用。您稍后可以在“Plans”页面更改 organization tier。如有需要,您可以通过指定副本扩缩容的最小和最大规格来自定义服务资源。准备就绪后,选择
恭喜!您的 ClickHouse Cloud 服务现已启动并运行,引导流程也已完成。继续阅读,了解如何开始摄取和查询数据。
- 在注册页面创建账户
- 您可以选择使用电子邮箱注册,或通过 Google SSO、Microsoft SSO、AWS Marketplace、Google Cloud 或 Microsoft Azure 注册
- 如果您使用电子邮箱和密码注册,请记得在接下来的 24 小时内通过发送到您邮箱中的链接验证邮箱地址
- 使用您刚创建的用户名和密码登录
登录后,ClickHouse Cloud 会启动引导向导,带您完成新 ClickHouse 服务的创建。选择要部署服务的区域,并为新服务命名:
默认情况下,新 organization 会使用 Scale tier,并创建 3 个副本,每个副本配备 4 个 vCPUs 和 16 GiB RAM。垂直自动扩缩容 在 Scale tier 中默认启用。您稍后可以在“Plans”页面更改 organization tier。如有需要,您可以通过指定副本扩缩容的最小和最大规格来自定义服务资源。准备就绪后,选择
Create service。恭喜!您的 ClickHouse Cloud 服务现已启动并运行,引导流程也已完成。继续阅读,了解如何开始摄取和查询数据。
2
连接到 ClickHouse
有 2 种方式可连接到 ClickHouse:
你应该会在列表中看到 4 个数据库,以及你另外添加的任何数据库。
就是这样——你已经可以开始使用新的 ClickHouse 服务了!
如果你找不到所需的语言客户端,可以查看我们的 Integrations 列表。
- 使用我们的 Web 版 SQL 控制台连接
- 通过您的应用连接
使用 SQL 控制台连接
为了快速上手,ClickHouse 提供了一个 Web 版 SQL 控制台;完成引导设置后,您将被重定向到该控制台。创建一个查询选项卡,并输入一个简单查询,以验证连接是否正常工作:就是这样——你已经可以开始使用新的 ClickHouse 服务了!
连接你的应用
点击导航菜单中的“连接”按钮。系统会打开一个模态窗口,其中会显示你的服务凭据,并提供一组说明,指导你如何通过相应的接口或语言客户端进行连接。如果你找不到所需的语言客户端,可以查看我们的 Integrations 列表。
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:日期时间 值,表示某一时间点metric:32 位浮点数 (Float32)
主键简介
在继续之前,有必要先了解 ClickHouse 中主键的工作原理 (其实现方式可能会让你感到意外!) :- ClickHouse 中表的主键对表中的每一行而言都不是唯一的
SELECT 查询时所处理的最小列数据单元。主键可以通过 PRIMARY KEY 参数来定义。如果定义表时未指定 PRIMARY KEY,则键默认为 ORDER BY 子句中指定的 Tuple。如果同时指定了 PRIMARY KEY 和 ORDER BY,则主键必须是排序键的子集。主键同时也是排序键,即由 (user_id, timestamp) 构成的 Tuple。因此,每个列文件中存储的数据将先按 user_id 排序,再按 timestamp 排序。如需深入了解 ClickHouse 核心概念,请参阅 “核心概念”。向表中插入数据
您可以在 ClickHouse 中使用熟悉的INSERT INTO TABLE 命令,但需要了解的是,每次向 MergeTree 表插入数据时,都会在存储中创建一个分片。即便是简单的示例,我们也一次插入多行数据:
使用 ClickHouse 命令行客户端添加数据
您也可以使用名为 clickhouse client 的命令行工具连接到您的 ClickHouse Cloud 服务。点击左侧菜单中的Connect 查看相关详情。在弹出的对话框中,从下拉列表中选择 Native:- 安装 ClickHouse。
- 运行以下命令,并将其中的主机名、用户名和密码替换为你自己的值:
- 试着运行以下查询:
- 要退出
clickhouse client,输入 exit 命令:
上传文件
初次使用数据库时,一个常见的操作是将本地文件中的数据导入数据库。我们在线提供了一些样本数据供您导入,这些数据代表点击流数据,包含用户 ID、访问的 URL 以及事件的时间戳。假设我们有一个名为data.csv 的 CSV 文件,其内容如下:data.csv
- 以下命令会将数据插入
my_first_table:
- 请注意,如果从 SQL 控制台进行查询,现在可以看到新行已出现在表中:
下一步?
- 教程将指导你向表中插入 200 万行数据,并编写一些分析查询
- 我们提供了一份示例数据集列表,并附有如何插入这些数据集的说明
- 查看我们关于 ClickHouse 快速入门的 12 分钟视频
- 如果你的数据来自外部数据源,请查看我们的集成指南合集,了解如何连接消息队列、数据库、管道等
- 如果你正在使用 UI/BI 可视化工具,请查看将 UI 连接到 ClickHouse 的用户指南
- 关于主键的用户指南涵盖了你需要了解的全部内容,包括主键及其定义方式