跳转到主要内容
这是将数据从 Azure Blob 存储或 Azure Data Lake Storage 复制到 ClickHouse 的最高效、最直接的方法之一。使用此表函数,您可以让 ClickHouse 直接连接到 Azure 存储,并按需读取数据。 它提供了类似表的接口,使您能够直接从源中选择、插入和过滤数据。该函数经过高度优化,支持许多常用文件格式,包括 CSVJSONParquetArrowTSVORCAvro 等。完整列表请参见”数据格式” 在本节中,我们将通过一个简单的入门指南,介绍如何将数据从 Azure Blob 存储传输到 ClickHouse,以及有效使用此函数时需要注意的重要事项。有关更多详细信息和高级选项,请参阅官方文档: azureBlobStorage 表函数文档页面

获取 Azure Blob 存储访问密钥

要让 ClickHouse 访问你的 Azure Blob 存储,你需要一个包含访问密钥的连接字符串。
  1. 在 Azure 门户中,进入你的 存储帐户
  2. 在左侧菜单中,选择 安全 + 网络 部分下的 访问密钥
  3. 选择 key1key2,然后点击 连接字符串 字段旁边的 显示 按钮。
  4. 复制该连接字符串——你将在 azureBlobStorage 表函数中将其用作参数。

从 Azure Blob 存储查询数据

打开您常用的 ClickHouse 查询控制台——可以是 ClickHouse Cloud Web 界面、ClickHouse 命令行客户端,或任何其他用于运行 查询的工具。准备好连接字符串和 ClickHouse 查询 控制台后,您就可以开始直接从 Azure Blob 存储查询数据。 在下面的示例中,我们将查询位于名为 data-container 的 容器中的 JSON 文件里存储的全部数据:
如果你想把这些数据复制到本地 ClickHouse 表中 (例如 my_table) , 可以使用 INSERT INTO ... SELECT 语句:
这样你就能高效地将外部数据导入 ClickHouse,而无需 经过中间的 ETL 步骤。

使用 Environmental Sensors 数据集的简单示例

作为示例,我们将从 Environmental Sensors 数据集中下载一个文件。
  1. Environmental Sensors 数据集 下载一个样本文件
  2. 在 Azure 门户中,如果你还没有存储帐户,请新建一个存储帐户。
请确保你的存储帐户已启用 Allow storage account key access,否则你将无法使用帐户密钥访问 数据。
  1. 在你的存储帐户中创建一个新容器。在本示例中,我们将其命名为 sensors。 如果你使用的是现有容器,则可以跳过此步骤。
  2. 将之前下载的 2019-06_bmp180.csv.zst 文件上传到该 容器。
  3. 按照前文所述的步骤,获取 Azure Blob 存储 连接字符串。
完成以上设置后,你就可以直接从 Azure Blob 存储查询数据:
  1. 要将数据加载到表中,请创建原始数据集中所用 schema 的简化版本:
有关查询 Azure Blob 存储等外部数据源时的配置选项和 schema 推断的更多信息, 请参阅从输入数据自动推断 schema
  1. 现在将 Azure Blob 存储中的数据插入 sensors 表:
现在,sensors 表中已包含存储在 Azure Blob 存储中的 2019-06_bmp180.csv.zst 文件数据。

更多资源

以上只是对如何使用 azureBlobStorage 函数的基础介绍。有关 更多高级选项和配置细节,请参阅官方 文档:
最后修改于 2026年6月19日