> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-revert-104359-revert-104251-parquet-single.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> 使用 ClickHouse 查询、加速和分析 Apache Iceberg、Delta Lake、Apache Hudi 和 Apache Paimon 等开放表格式中的数据。

# 数据湖

ClickHouse 支持与开放表格式集成，包括 [Apache Iceberg](/zh/reference/engines/table-engines/integrations/iceberg)、[Delta Lake](/zh/reference/engines/table-engines/integrations/deltalake)、[Apache Hudi](/zh/reference/engines/table-engines/integrations/hudi) 和 [Apache Paimon](/zh/reference/functions/table-functions/paimon)。这使用户能够将 ClickHouse 连接到对象存储中以这些格式存储的现有数据，将 ClickHouse 的分析能力与现有数据湖基础设施结合起来。

<h2 id="why-clickhouse-uses-lake-formats">
  为何将 ClickHouse 与开放表格式搭配使用？
</h2>

<h3 id="querying-data-in-place">
  就地查询现有数据
</h3>

ClickHouse 可以直接查询对象存储中的开放表格式，而无需复制数据。对于已采用 Iceberg、Delta Lake、Hudi 或 Paimon 作为标准的组织，ClickHouse 可直接指向现有表，并立即使用其 SQL 方言、分析函数以及高效的原生 Parquet 读取器。同时，[clickhouse-local](/zh/concepts/features/tools-and-utilities/clickhouse-local) 和 [chDB](/zh/chdb/index) 等工具支持对远程存储中 70 多种文件格式进行探索式临时分析，使用户无需搭建任何基础设施，即可交互式探索数据湖数据集。

用户既可以通过直接读取 (使用[表函数和表引擎](/zh/guides/use-cases/data-warehousing/getting-started/querying-directly)) 来实现，也可以通过[连接到数据目录](/zh/guides/use-cases/data-warehousing/getting-started/connecting-catalogs)来实现。

<h3 id="add-compute-to-selected-queries">
  为选定查询增加计算资源
</h3>

按需计算 (On-Demand Compute) 现处于私有预览阶段，可让符合条件的 `SELECT` 查询通过现有服务和端点，在额外的 ClickHouse 工作线程上查询受支持的 Apache Iceberg 和 Delta Lake 数据，无需调整服务规格。该能力以尽力而为方式提供，性能可能有所差异，且不适用 ClickHouse Cloud 的 SLO 与 SLA。有关适用条件和限制，请参阅[按需计算文档](/zh/products/cloud/features/infrastructure/on-demand-compute)。

<h3 id="real-time-with-clickhouse">
  使用 ClickHouse 处理实时分析工作负载
</h3>

对于需要高并发和低延迟响应的工作负载，用户可以将开放表格式中的数据加载到 ClickHouse 的 [MergeTree](/zh/reference/engines/table-engines/mergetree-family/mergetree) 引擎中。这会在源自数据湖的数据之上提供一个实时分析层，支持仪表盘、运营报表以及其他对延迟敏感、可受益于 MergeTree 列式存储和索引能力的工作负载。

请参阅[使用 MergeTree 加速分析](/zh/guides/use-cases/data-warehousing/getting-started/accelerating-analytics)的入门指南。

<h2 id="capabilities">
  能力
</h2>

<h3 id="read-data-directly">
  直接读取数据
</h3>

ClickHouse 提供了可直接读取对象存储上开放表格式的[表函数](/zh/reference/functions/table-functions/index)和[引擎](/zh/reference/engines/table-engines/integrations/index)。[`iceberg()`](/zh/reference/functions/table-functions/iceberg)、[`deltaLake()`](/zh/reference/functions/table-functions/deltalake)、[`hudi()`](/zh/reference/functions/table-functions/hudi) 和 [`paimon()`](/zh/reference/functions/table-functions/paimon) 等函数允许用户无需任何预先配置，即可在 SQL 语句中查询开放表格式的表。这些函数针对大多数常见对象存储都提供了对应版本，例如 S3、Azure Blob 存储和 GCS。这些函数也有对应的表引擎，可用于在 ClickHouse 中创建引用底层开放表格式对象存储的表，从而让查询更加便捷。

请参阅我们的入门指南，了解如何[直接查询](/zh/guides/use-cases/data-warehousing/getting-started/querying-directly)，或如何[连接到数据目录](/zh/guides/use-cases/data-warehousing/getting-started/connecting-catalogs)。

<h3 id="expose-catalogs-as-databases">
  将目录映射为数据库
</h3>

使用 [`DataLakeCatalog`](/zh/reference/engines/database-engines/datalake) 数据库引擎，用户可以将 ClickHouse 连接到外部目录，并将其映射为数据库。注册在目录中的表会作为 ClickHouse 中的表呈现，从而能够无缝使用完整的 ClickHouse SQL 语法和分析函数。这意味着，用户可以像操作原生 ClickHouse 表一样，对由目录管理的表执行查询、JOIN 和聚合，并受益于 ClickHouse 的查询优化、并行执行和读取能力。

支持的目录包括：

| 目录 | 指南 |
| - | - |
| AWS Glue | [Glue Catalog 指南](/zh/guides/use-cases/data-warehousing/glue-catalog) |
| BigLake Metastore | [BigLake Metastore 指南](/zh/guides/use-cases/data-warehousing/biglake-catalog) |
| Databricks Unity Catalog | [Unity Catalog 指南](/zh/guides/use-cases/data-warehousing/unity-catalog) |
| Iceberg REST Catalog | [REST Catalog 指南](/zh/guides/use-cases/data-warehousing/rest-catalog) |
| Lakekeeper | [Lakekeeper Catalog 指南](/zh/guides/use-cases/data-warehousing/lakekeeper-catalog) |
| Project Nessie | [Nessie Catalog 指南](/zh/guides/use-cases/data-warehousing/nessie-catalog) |
| Microsoft OneLake | [OneLake Catalog 指南](/zh/guides/use-cases/data-warehousing/onelake-catalog) |
| SeaweedFS | [SeaweedFS Catalog 指南](/zh/guides/use-cases/data-warehousing/seaweedfs-catalog) |

有关[连接到目录](/zh/guides/use-cases/data-warehousing/getting-started/connecting-catalogs)的说明，请参阅入门指南。

<h3 id="write-back-to-lakehouse-formats">
  回写到开放表格式
</h3>

ClickHouse 支持将数据回写到开放表格式，这在以下场景中尤其适用：

* **从实时到长期存储** - 数据经由 ClickHouse 这一实时分析层流转，用户需要将结果转存到 Iceberg 或其他格式中，以实现持久且具成本效益的长期存储。
* **反向 ETL** - 用户使用 ClickHouse 中的 materialized views 或定时查询执行转换，并希望将结果持久化到开放表格式中，供数据生态系统中的其他工具使用。

请参阅关于[写入数据湖](/zh/guides/use-cases/data-warehousing/getting-started/writing-data)的入门指南。

<h3 id="best-practices">
  最佳实践
</h3>

对于生产环境中的工作负载，请参阅[数据湖最佳实践](/zh/guides/use-cases/data-warehousing/getting-started/best-practices)，了解如何选择表函数、表引擎或目录连接，以及如何调整性能设置和调试数据湖查询。

<h2 id="next-steps">
  后续步骤
</h2>

准备好亲自试试了吗？[入门指南](/zh/guides/use-cases/data-warehousing/getting-started/overview) 将带你走完整个端到端工作流：直接查询开放表格式、连接到目录、将数据加载到 MergeTree 以实现快速分析，并将结果写回。
