ClickHouse OSS 快速入门
在本快速入门教程中,我们将通过 8 个简单步骤帮助你完成 OSS ClickHouse 的设置。你将下载适用于你操作系统的二进制文件,学习如何运行 ClickHouse server,并使用 ClickHouse client 创建一张表,然后向其中插入数据并运行查询来选取这些数据。
下载 ClickHouse
ClickHouse 原生支持 Linux、FreeBSD 和 macOS,并可通过 WSL 在 Windows 上运行。 在本地下载 ClickHouse 最简单的方式是运行以下 curl 命令。 该命令将检测您的操作系统是否受支持,然后下载从 master 分支构建的相应 ClickHouse 二进制文件。
建议在新建的空子目录中运行以下命令,因为首次运行 ClickHouse 服务器时,会在二进制文件所在目录中创建一些配置文件。
以下脚本不是在生产环境中安装 ClickHouse 的推荐方式。 如需安装生产环境的 ClickHouse 实例,请参阅安装页面。
您应该会看到:
在此阶段,可以忽略运行 install 命令的提示。
Mac 用户注意:如果您遇到无法验证二进制文件开发者的错误,请参阅"修复 macOS 中的开发者验证错误"。
启动客户端
使用 clickhouse-client 连接到您的 ClickHouse 服务。打开新终端,切换到 clickhouse 二进制文件所在的目录,然后运行以下命令:
您应该会看到一个笑脸,表示已成功连接到本地运行的服务:
插入您自己的数据
下一步是将您自己的数据导入 ClickHouse。我们提供了大量的表函数和集成用于摄取数据。您可以参考下方选项卡中的示例,或访问我们的集成页面查看与 ClickHouse 集成的完整技术列表。
- S3
- GCS
- Web
- 本地
- 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:与 Amazon Managed Streaming for 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 的用户指南。
- 主键用户指南包含了你需要了解的所有主键信息以及如何定义主键。