inline_external_table 运算符

使用 “版本 ”下拉列表切换服务。 了解有关导航的详细信息
适用于: ✅ Azure 数据资源管理器

运算符inline_external_table返回一个表,该表的架构在查询本身中定义或从 Delta Lake 元数据推断,以及从外部存储项目(例如Azure Blob 存储中的 blob 或Azure Data Lake Storage中的文件)读取其数据。

注释

inline_external_table 运算符支持:

  • 一组特定的storage服务,如Storage连接字符串下列出。
  • 共享Access签名(SAS)密钥、Access密钥、Microsoft Entra 令牌和托管标识身份验证方法。 有关详细信息,请参阅Storage身份验证方法

Syntax

存储模式

inline_external_table ( columnName:columnType [, ...] )kind=storage [partitionby(partitionName:partitionType [=表达式] [, ...])][pathformat=(pathFormatElement)] dataformat=dataFormat(storageConnectionString [, ...] ) [with(propertyName=propertyValue [, ...])]

增量模式

inline_external_table [(columnName:columnType [, ...] )] kind=delta(storageConnectionString)

详细了解语法约定

Parameters

名称 类型 必需 说明
columnNamecolumnType string ✔️ for kind=storage 列名及其类型的列表。 此列表定义表的架构。 在此 kind=delta列表中是可选的。 如果未指定架构,则会从 Delta 日志推断出该架构。 如果指定架构,则列必须存在于 Delta 表中,并且必须使用兼容类型。
kind string ✔️ 内联外部表类型。 支持的值是 storagedelta
partitionNamepartitionType表达式 string kind=storage可选分区列列表。 支持的分区类型是 stringdatetime以及 long。 可选表达式将分区列映射到源列表达式。
pathFormatElement string kind=storage可选路径格式定义。 路径格式可以包括文本路径段、分区列引用和 datetime_pattern() 表达式。
dataFormat string ✔️ for kind=storage 外部存储文件的数据格式。 不支持 kind=delta此参数。
storageConnectionString string ✔️ 要查询的storage项目的 storage 连接字符串kind=storage 接受一个或多个存储连接字符串。 kind=delta 只需要一个 Delta 表根 URI。
propertyName、propertyValue string 可选的 supported 属性列表,用于确定如何解释从storage检索到的数据。 这些属性适用于 kind=storage.

注释

出于安全原因,请确保 storageConnectionString 属性未指定任何凭据。 如果查询需要指定凭据,请使用 query 参数指定整个连接字符串。

例如,假设查询包含一 URI 个名为其值点的外部存储的查询参数,查询将如下所示:

declare query_parameters(URI:string);
inline_external_table(x:string) kind=storage dataformat=txt (URI)

如果这是不可能的(例如,你正在使用不支持设置查询参数的客户端),请确保使用 模糊字符串文本

支持的属性

以下属性仅适用于 kind=storage.

财产 类型 说明
includeHeaders string 文本格式的标头处理。 例如,当 CSV 文件包含标头时,用于 All 跳过每个文件中的第一条记录。
编码 string 指定文本的编码方式,例如 UTF8NoBOMUTF8BOM
namePrefix string 如果已设置,则仅读取具有此名称前缀的文件。
fileExtension string 如果已设置,则仅读取具有此文件扩展名的文件。

注释

此运算符不接受任何管道输入。

标准查询限制还适用于外部数据查询。

kind=deltadataformatpartition bypathformat 不支持中。 从 Delta 元数据推断数据格式、分区信息和路径格式。 增量模式只需要一个 Delta 表根 URI。

Returns

inline_external_table运算符返回一个数据表,该表的数据是从指定的存储项目检索的,由存储连接字符串指示。

在 , kind=storage表架构是在查询中指定的架构。 在查询 kind=delta中指定表架构,或从 Delta 日志推断。 从 Delta 元数据推断的分区列将作为虚拟列返回。

示例

以下示例查询存储在外部存储中的 Parquet 文件。

inline_external_table(Timestamp:datetime, DeviceId:string, Value:real)
    kind=storage
    dataformat=parquet
    (h@"https://mycompanystorage.blob.core.chinacloudapi.cn/iot/2026/06/01/data.parquet?...SAS...")
| summarize AvgValue = avg(Value) by DeviceId

输出

DeviceId AvgValue
Device-001 23.45
Device-002 18.92
Device-003 31.67

以下示例查询存储在外部存储中的多个 CSV 文件。

inline_external_table(Timestamp:datetime, ProductId:string, Quantity:long)
    kind=storage
    dataformat=csv
    (
        h@"https://mycompanystorage.blob.core.chinacloudapi.cn/archivedproducts/2026/06/01/part-00000.csv.gz?...SAS...",
        h@"https://mycompanystorage.blob.core.chinacloudapi.cn/archivedproducts/2026/06/02/part-00000.csv.gz?...SAS..."
    )
    with(includeHeaders='All')
| summarize TotalQuantity = sum(Quantity) by ProductId

输出

ProductId TotalQuantity
PROD-123 1500
PROD-456 2300
PROD-789 870

以下示例查询存储在外部存储中的已分区 Parquet 文件。

inline_external_table(Timestamp:datetime, DeviceId:string, Region:string, Value:real)
    kind=storage
    partition by(
        Day:datetime = startofday(Timestamp),
        RegionPartition:string = Region
    )
    pathformat=('day=' datetime_pattern('yyyy/MM/dd', Day) '/region=' RegionPartition)
    dataformat=parquet
    (h@"https://mycompanystorage.blob.core.chinacloudapi.cn/iotpartitioned;managed_identity=...")
| where Day between (datetime(2026-01-01) .. datetime(2026-01-07))
| summarize AvgValue = avg(Value) by Region

输出

Region AvgValue
27.8
西 22.1
19.5
31.2

以下示例查询 Delta Lake 表根目录。 架构是从 Delta 日志推断的,推断 Amount 列用于筛选。

inline_external_table
    kind=delta
    (h@"abfss://filesystem@storageaccount.dfs.core.chinacloudapi.cn/delta/customer-events;sharedkey=...")
| where Amount > 0
| take 10

输出

时间戳 客户ID 金额 事件类型
2026-06-01T10:23:45Z CUST-001 150.00 购买
2026-06-01T11:15:30Z CUST-002 75.50 购买
2026-06-01T12:45:00Z CUST-003 200.00 购买
2026-06-01T13:20:15Z CUST-001 50.25 购买
2026-06-01T14:30:00Z CUST-004 125.75 购买

以下示例使用显式架构查询 Delta Lake 表根目录。

inline_external_table(Timestamp:datetime, CustomerId:string, Amount:real)
    kind=delta
    (h@"abfss://filesystem@storageaccount.dfs.core.chinacloudapi.cn/delta/customer-events;sharedkey=...")
| summarize TotalAmount = sum(Amount) by CustomerId

输出

客户ID TotalAmount
CUST-001 1250.75
CUST-002 890.50
CUST-003 2100.00
CUST-004 675.25