为何将 ClickHouse 与开放表格式搭配使用?
就地查询现有数据
使用 ClickHouse 处理实时分析工作负载
能力
直接读取数据
iceberg()、deltaLake()、hudi() 和 paimon() 等函数允许用户无需任何预先配置,即可在 SQL 语句中查询开放表格式的表。这些函数针对大多数常见对象存储都提供了对应版本,例如 S3、Azure Blob 存储和 GCS。这些函数也有对应的表引擎,可用于在 ClickHouse 中创建引用底层开放表格式对象存储的表,从而让查询更加便捷。
请参阅我们的入门指南,了解如何直接查询,或如何连接到数据目录。
将目录映射为数据库
DataLakeCatalog 数据库引擎,用户可以将 ClickHouse 连接到外部目录,并将其映射为数据库。注册在目录中的表会作为 ClickHouse 中的表呈现,从而能够无缝使用完整的 ClickHouse SQL 语法和分析函数。这意味着,用户可以像操作原生 ClickHouse 表一样,对由目录管理的表执行查询、JOIN 和聚合,并受益于 ClickHouse 的查询优化、并行执行和读取能力。
支持的目录包括:
| 目录 | 指南 |
|---|---|
| AWS Glue | Glue Catalog 指南 |
| BigLake Metastore | BigLake Metastore 指南 |
| Databricks Unity Catalog | Unity Catalog 指南 |
| Iceberg REST Catalog | REST Catalog 指南 |
| Lakekeeper | Lakekeeper Catalog 指南 |
| Project Nessie | Nessie Catalog 指南 |
| Microsoft OneLake | OneLake Catalog 指南 |
回写到开放表格式
- 从实时到长期存储 - 数据经由 ClickHouse 这一实时分析层流转,用户需要将结果转存到 Iceberg 或其他格式中,以实现持久且具成本效益的长期存储。
- 反向 ETL - 用户使用 ClickHouse 中的 materialized views 或定时查询执行转换,并希望将结果持久化到开放表格式中,供数据生态系统中的其他工具使用。