rav*_*ran 1 external-tables azure-sqldw polybase
我已经通过poly-base将Azure blob存储中的文件数据加载到Azure SQL DW外部表.现在,Blob容器中的文件已更新.现在我想加载新数据.任何人都可以建议如何通过poly base将新数据加载到外部表.我正在尝试删除外部表(如果存在)并再次创建它以加载新数据.
无需删除外部表来查看新数据.但是,DROP EXTERNAL TABLE如果需要,您可以使用语法删除Polybase /外部表,例如更改定义或REJECT_TYPE.您也可以sys.external_tables在放弃之前检查DMV 的存在,例如
IF EXISTS ( SELECT * FROM sys.external_tables WHERE object_id = OBJECT_ID('yourSchema.yourTable') )
DROP EXTERNAL TABLE yourSchema.yourTable
GO
Run Code Online (Sandbox Code Playgroud)
Azure SQL数据仓库还不支持DROP IF EXISTS (DIESQL Server 2016中的语法.但是如上所述,不需要删除外部表只是为了查看新数据.如果blob文件已更新,则下次查询时,新数据将仅显示在外部表中.
另一种方法是在外部表定义中提供目录名称.然后,只需在文件夹中删除新文件,下次查询表时就会显示数据,例如
CREATE EXTERNAL TABLE dbo.DimDate2External (
DateId INT NOT NULL,
CalendarQuarter TINYINT NOT NULL,
FiscalQuarter TINYINT NOT NULL
)
WITH (
LOCATION='/textfiles/dimDate/',
DATA_SOURCE=AzureStorage,
FILE_FORMAT=TextFile
);
Run Code Online (Sandbox Code Playgroud)
因此,如果您在该文件夹中有一个初始文件DimDate1.txt,然后添加了一个名为DimDate2.txt它的新文件,它将作为一个文件出现在表中.
| 归档时间: |
|
| 查看次数: |
2306 次 |
| 最近记录: |