我一直在尝试通过仅考虑部分文件夹而不考虑来自Azure Datalake位置的所有文件夹来在Azure SQL数据仓库中创建外部表。但是我不能这样做。在这方面寻求帮助。
下面是此方案的示例。
在Azure Datalake中,该位置由文件夹组成,其中数据根据年份标准分为多个文件夹。这些文件夹存在于1996年至2020年之间。我的情况是仅为2018年及以后的年份创建一个外部表。
请提出实现此目标的最佳方法。
谢谢!
我一直在尝试通过仅考虑部分文件夹而不考虑来自Azure Datalake位置的所有文件夹来在Azure SQL数据仓库中创建外部表。但是我不能这样做。在这方面寻求帮助。
下面是此方案的示例。
在Azure Datalake中,该位置由文件夹组成,其中数据根据年份标准分为多个文件夹。这些文件夹存在于1996年至2020年之间。我的情况是仅为2018年及以后的年份创建一个外部表。
请提出实现此目标的最佳方法。
谢谢!
您有两个主要选择:
1。每年创建一个外部表,然后从多个外部表中进行联合选择
例如,您可以在概念上执行以下操作:
CREATE EXTERNAL TABLE FILES2018...
CREATE EXTERNAL TABLE FILES2019...
CREATE EXTERNAL TABLE FILES2020...
SELECT * FROM FILES2018
UNION ALL
SELECT * FROM FILES2019
UNION ALL
SELECT * FROM FILES2020
2。使用新的COPY
命令
此example显示了如何创建多个文件夹。
COPY INTO t1
FROM
'https://myaccount.blob.core.windows.net/myblobcontainer/folder2018','https://myaccount.blob.core.windows.net/myblobcontainer/folder2019','https://myaccount.blob.core.windows.net/myblobcontainer/folder2020'
WITH...