当前位置:  开发笔记 > 编程语言 > 正文

如何存在Drop Poly Base外部表?

如何解决《如何存在DropPolyBase外部表?》经验,为你挑选了1个好方法。

我已经通过poly-base将Azure blob存储中的文件数据加载到Azure SQL DW外部表.现在,Blob容器中的文件已更新.现在我想加载新数据.任何人都可以建议如何通过poly base将新数据加载到外部表.我正在尝试删除外部表(如果存在)并再次创建它以加载新数据.



1> wBob..:

无需删除外部表来查看新数据.但是,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

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
);

因此,如果您在该文件夹中有一个初始文件DimDate1.txt,然后添加了一个名为DimDate2.txt它的新文件,它将作为一个文件出现在表中.

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有