我已为 PolyBase 创建了一个外部表,以将数据从 BLOB 存储加载到 Azure SQL 数据仓库。我有以下有关文件加载的问题。
1) 如果数据不断增长,那么 PolyBase 将如何工作。如果有像
这样的每日样本文件test_2019_02_01.incr
test_2019_02_02.incr
那么我们每次都需要创建drop并重新创建外部表吗?如果不是,我该如何完成这项工作
CREATE EXTERNAL TABLE [dbo].[sample]
(
[social] varchar(30) NOT NULL,
[address] varchar(30) NOT NULL
)
with (
LOCATION='/TEST/',
DATA_SOURCE=POLYTEST,
FILE_FORMAT=POLY_TEST_HEADER,
REJECT_TYPE=VALUE,
REJECT_VALUE=0
)
2) 我可以在 PolyBase Azure BLOB 存储中编写 UNIX 脚本吗?
请分享您对此问题的看法。
最佳答案
您可以在 Azure SQL 数据仓库上创建一个表,其中存储来自文件的数据,然后创建位于 Azure 存储上的文件列表,并迭代该列表,并为每个项目创建和删除外部表在名单上。您可以标记已处理的每个项目。每次创建外部表时,都会将数据加载到 Azure 数据仓库表中,然后删除外部表。 Here您会找到一个完整的示例。
关于azure - Polybase 中的增量负载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54484816/