1

我在 blob 存储帐户中有数据,该帐户按以下结构组织:

/logs/YYYY/mm/dd/HH

假设有几年的数据,我想将特定时间段(或多个时间段)中的数据提取到 Azure 数据仓库表中。

以下内容在 Polybase 检索数据的方式方面有何不同:

1) 创建表作为从指向根文件夹 (/logs) 的外部表中选择的表,其中的 where 子句考虑了特定时间值的值范围(例如 x 和 y 之间的时间戳)。

2) 来自外部表联合的 CTAS,它指向构成我想要的特定时间段的各个文件夹。

我假设上面的 2) 会更快,因为 Polybase 不必查看任何不需要的文件夹?这个对吗?

如果是这样,有没有办法从指向根文件夹的外部表中进行选择,但以某种方式只选择特定时间段的文件?

也许有一些文档可以解释这一点?

4

1 回答 1

3

是的,你是对的。

1 将引入所有数据,然后在 SQL DW 中应用 where 子句。

2 会更快,因为它只会从单个文件夹中获取数据。

目前,PolyBase 外部表不支持文件夹/文件/分区,因此无法根据过滤子句跳过。

于 2018-01-19T16:51:22.043 回答