ClickHouse OSS 快速入门
在本快速入门教程中,我们将通过8个简单步骤让您设置好 OSS ClickHouse。您将下载适合您操作系统的二进制文件,学习如何运行 ClickHouse 服务器,使用 ClickHouse 客户端创建一个表,然后向其插入数据并运行查询以选择该数据。
下载 ClickHouse
ClickHouse 原生运行在 Linux、FreeBSD 和 macOS 上,并可以通过 WSL 在 Windows 上运行。最简单的本地下载 ClickHouse 的方法是运行以下 curl 命令。它会确定您的操作系统是否受支持,然后下载适合的 ClickHouse 二进制文件。
我们建议在新的空子目录中运行以下命令,因为一些配置文件将在第一次运行 ClickHouse 服务器时在二进制文件所在的目录下创建。
您应该能看到:
在此阶段,您可以忽略运行 install 命令的提示。
对于 Mac 用户:如果您收到二进制文件的开发者无法验证的错误,请查看 "解决 MacOS 中的开发者验证错误"。
启动客户端
使用 clickhouse-client 连接到您的 ClickHouse 服务。打开一个新的终端,将目录切换到 clickhouse 二进制文件保存的地方,然后运行以下命令:
您应该能看到一个微笑的脸,表示它已连接到运行在 localhost 上的服务:
插入您自己的数据
下一步是将您自己的数据导入 ClickHouse。我们有许多 表函数 和 集成方式 来获取数据。我们在下面的选项卡中有一些示例,或者您可以查看我们的 集成方式 页面,找到与 ClickHouse 集成的众多技术。
- S3
- GCS
- Web
- Local
- PostgreSQL
- MySQL
- ODBC/JDBC
- 消息队列
- 数据湖
- 其他
使用 s3 表函数 从 S3 读取文件。这是一个表函数——意味着结果是一个表,可以:
- 被用作
SELECT查询的源(允许您运行临时查询并将数据保留在 S3 中),或... - 将结果表插入到
MergeTree表中(当您准备好将数据转移到 ClickHouse 时)
临时查询看起来像:
将数据移到 ClickHouse 表中如下,其中 nyc_taxi 是一个 MergeTree 表:
查看我们的 AWS S3 文档页面合集,获取更多关于如何将 S3 与 ClickHouse 结合使用的详细信息和示例。
使用 file 表引擎 读取本地文件。为了简单起见,将文件复制到 user_files 目录(该目录位于您下载 ClickHouse 二进制文件的目录中)。
请注意,ClickHouse 通过分析大量行来推断列的名称和数据类型。如果 ClickHouse 无法从文件名中确定文件格式,您可以将其作为第二个参数指定:
查看 file 表函数 文档页面以获取更多详细信息。
消息队列可以通过相应的表引擎将数据流入 ClickHouse,包括:
- Kafka:使用
Kafka表引擎 与 Kafka 集成 - Amazon MSK:与 亚马逊托管的 Apache Kafka 流服务 (MSK) 集成
- RabbitMQ:使用
RabbitMQ表引擎 与 RabbitMQ 集成
ClickHouse 有表函数从以下来源读取数据:
- Hadoop:使用
hdfs表函数 与 Apache Hadoop 集成 - Hudi:使用
hudi表函数 从 S3 中读取现有的 Apache Hudi 表 - Iceberg:使用
iceberg表函数 从 S3 中读取现有的 Apache Iceberg 表 - DeltaLake:使用
deltaLake表函数 从 S3 中读取现有的 Delta Lake 表
查看我们的 ClickHouse 集成方式的长列表,了解如何将您现有的框架和数据源连接到 ClickHouse。
探索
- 查看我们的 核心概念 部分,了解 ClickHouse 在内部运作的一些基础知识。
- 查看 高级教程,深入探讨 ClickHouse 的关键概念和功能。
- 通过参加我们在 ClickHouse Academy 提供的免费在线培训课程继续学习。
- 我们有一份 示例数据集 的列表,以及插入它们的说明。
- 如果您的数据来自外部来源,请查看我们的 集成指南集合,了解如何连接到消息队列、数据库、管道等。
- 如果您使用的是 UI/BI 可视化工具,请查看 连接 UI 到 ClickHouse 的用户指南。
- 关于 主键 的用户指南包含您需要了解的所有关于主键的信息以及如何定义它们。