跳到主要内容
跳到主要内容

快速入门

欢迎使用 ClickHouse!

在这个快速入门教程中,我们将通过 8 个简单步骤帮助您设置 ClickHouse。您将下载适合您操作系统的二进制文件,学习如何运行 ClickHouse 服务器,并使用 ClickHouse 客户端创建一个表,然后向其插入数据并运行查询以选择这些数据。

我们开始吧?

下载 ClickHouse

ClickHouse 原生支持 Linux、FreeBSD 和 macOS,并通过 WSL 在 Windows 上运行。将 ClickHouse 本地下载的最简单方法是运行以下 curl 命令。此命令会识别您的操作系统是否支持,然后下载适合的 ClickHouse 二进制文件。

备注

我们建议您在一个新的空子目录中运行下面的命令,因为在第一次运行 ClickHouse 服务器时,将在二进制文件所在的目录中创建一些配置文件。

您应该会看到:

此时,您可以忽略提示运行 install 命令。

备注

对于 Mac 用户:如果您收到错误,表明无法验证二进制文件的开发者,请参阅 "修复 MacOS 中的开发者验证错误"

启动服务器

运行以下命令来启动 ClickHouse 服务器:

您应该会看到终端充满了日志消息。这是正常现象。在 ClickHouse 中,默认的 日志记录级别 设置为 trace 而不是 warning

启动客户端

使用 clickhouse-client 连接到您的 ClickHouse 服务。打开一个新的终端,切换到保存 clickhouse 二进制文件的目录,然后运行以下命令:

当它连接到您在 localhost 上运行的服务时,您应该会看到一个笑脸:

创建表

使用 CREATE TABLE 定义一个新表。典型的 SQL DDL 命令在 ClickHouse 中有效,唯一的补充是 ClickHouse 中的表需要一个 ENGINE 子句。使用 MergeTree 来利用 ClickHouse 的性能优势:

插入数据

您可以使用熟悉的 INSERT INTO TABLE 命令在 ClickHouse 中插入数据,但重要的是要理解,每次向 MergeTree 表插入数据都会在存储中创建我们称之为 part 的部分。这些部分后来会在后台被 ClickHouse 合并。

在 ClickHouse 中,我们尝试一次性批量插入大量行(数万甚至数百万行)以最小化需要在后台进程中合并的 parts

在本指南中,我们暂时不需要担心这一点。运行以下命令向您的表插入一些数据行:

查询您的新表

您可以像对待任何 SQL 数据库一样撰写 SELECT 查询:

注意响应以漂亮的表格格式返回:

插入您自己的数据

下一步是将您自己的数据导入 ClickHouse。我们有很多 表函数集成 用于数据摄取。我们在下面的选项卡中提供了一些示例,或者您可以查看我们的 集成 页面,了解与 ClickHouse 集成的技术长列表。

使用 s3 表函数 从 S3 读取文件。这是一个表函数 - 这意味着结果是一个可以作为:

  1. SELECT 查询的源(允许您运行临时查询,并将数据保留在 S3 中),或者...
  2. 将结果表插入到 MergeTree 表中(当您准备好将数据移入 ClickHouse 时)

临时查询看起来像:

将数据移动到 ClickHouse 表中如下,其中 nyc_taxi 是一个 MergeTree 表:

查看我们关于 AWS S3 文档页面的 集合,获取有关与 ClickHouse 一起使用 S3 的更多详细信息和示例。


探索

  • 查看我们的 核心概念 部分,以了解 ClickHouse 的一些基本原理。
  • 查看 高级教程,更深入地探讨 ClickHouse 的关键概念和功能。
  • 通过在 ClickHouse Academy 上参加我们的免费按需培训课程来继续您的学习。
  • 我们有一份 示例数据集 的列表,并附有插入说明。
  • 如果您的数据来自外部源,请查看我们关于连接消息队列、数据库、管道等的 集成指南集合
  • 如果您使用 UI/BI 可视化工具,请查看 连接 UI 到 ClickHouse 的用户指南
  • 关于 主键 的用户指南包含了有关主键及其定义的所有信息。