查询 Azure 存储外部表

在 Azure 数据资源管理器中,可以使用 Kusto 查询语言 (KQL) 查询存储在 Azure 存储中的外部表。 可以像在 Azure 数据资源管理器中查询常规表一样查询 Azure 存储外部表。

工作原理

创建外部表时,需要提供一个或多个连接字符串,即 Azure Blob 存储 Blob 容器的路径。 针对外部表编写查询时,将枚举指定容器中的 Blob,并扫描每个 Blob 来响应查询。

分区

如果针对具有分区的 Azure 存储外部表编写查询,则只会访问与筛选器匹配的文件夹,而不是访问所有文件夹。 这减少了需要处理的数据量,并可能会显著提高查询性能。

使用 Parquet 文件优化查询性能

建议使用 Parquet 数据格式来优化 Azure 存储外部表的查询性能。

  • Parquet 是一种列式存储格式,即,数据存储在列中而不是行中。 在 Parquet 中,只需访问特定数据列的查询效率要高得多,因为只需从 Azure 存储中读取相关列。

  • Parquet 文件通常包括元数据,这显著加快了查询处理速度。 此元数据允许快速检索每个数据块的列计数、最小值和最大值等重要信息,以及其他统计信息,而无需扫描所有行。

  • 运行筛选的查询时,Parquet 文件元数据可用于标识包含相关数据的文件或文件部分。 此功能意味着只需要处理必要的数据,从而提高查询性能。