繁体   English   中英

Azure Data Explorer 外部表分区有什么用?

[英]What are Azure Data Explorer external table partitions good for?

向外部表定义添加分区对分区查询没有帮助。

斑点路径示例

  • /data/1234/2021/12/02/9483D.parquet
  • /data/1235/2021/12/02/12345.parquet

分区(伪语法不是真正的语法):'/data/'uniqueid'/yyyy/MM/dd/'

因此存储路径中只有两个 uniqueids 值。 路径中不同日期的文件总数约为 100 万

所以我定义了 2 个分区作为虚拟列:

  1. 唯一身份
  2. 约会时间

对 uniqueid 执行查询,例如: table | summarize by uniqueid table | summarize by uniqueid出于某种原因遍历 blob 存储中的所有文件。

由于 uniqueid 是一个分区和虚拟列,查询不应该超快,因为我们在它的路径中只有 2 个值吗? 我完全错过了分区的重点吗?

编辑添加样本:

.create external table ['sensordata'] (['timestamp']:long,['value']:real)
    kind = adl
partition by (['uniqueid']:string ,['datecreated']:datetime )
pathformat = (['uniqueid']  '/' datetime_pattern("yyyy/MM/dd", ['daterecorded']))
    dataformat = parquet
    (
        h@'abfss://XXXXXX@YYYYYYYY.dfs.core.windows.net/histdata;impersonate'
    )
    with (FileExtension='.parquet')

查询示例:

sensordata
| summarize by uniqueid

感谢您的输入,@user998888。

我们对分区外部表有很多优化,并且我们投入大量精力来添加越来越多的优化。 但是我们仍然没有像您提供的那样优化查询类型。 它在我们的名单上。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM