如何解决找不到Blob存储文件上的Azure Polybase外部表
在此先感谢您的协助!我在Blob存储上有CSV文件,当前已通过Synapse(Azure sql DWH)中的polybase成功读取了CSV文件。该方法如Microsoft documentation中所述。我已经添加了一个新文件夹(与其他文件位于同一容器中),并且在Synapse上通过SSMS创建外部表时收到以下错误消息:
信息105002,第16级,状态1,第1行 外部文件访问失败,因为指定的路径名'/USA/FCT.CSV'不存在。输入有效路径,然后重试。
如果我将文件放置在另一个文件夹(位于同一容器中)(例如“ /CA/FCT.CSV”)中,我知道可以从中访问文件,则该文件可以正常工作。我觉得我已经证明文件没有问题,并且外部表创建脚本没有错误。
我的疑难解答使我认为需要在BLOB存储容器中的文件夹上设置权限设置。我检查了“管理访问权”设置是否与具有正常访问权限的文件夹相同。我还能检查什么?
Blob storage container and folders
工作正常的文件的完整路径(敏感信息替换为星号): https://***datalake.dfs.core.windows.net/marketing/CA/FCT.CSV
无效文件的完整路径:https://***datalake.dfs.core.windows.net/marketing/USA/FCT.CSV
这是有效的创建表脚本:
CREATE EXTERNAL TABLE [Nielsen].[USA_Fact_external]
(
[HRCH LVL] VARCHAR(40),[**** TOTAL MARKET1] VARCHAR(40),[**** COMPANY] VARCHAR(40),[**** BRAND] VARCHAR(40),[**** SEGMENT] VARCHAR(40),[**** TYPE] VARCHAR(40),[**** PACK TYPE] VARCHAR(40),[**** SUB BRAND] VARCHAR(40),[**** ACTUAL PACK SIZE] VARCHAR(40),[PRDC CODE] VARCHAR(40),[**** TOTAL MARKET22] VARCHAR(40),[MARKET CODE] VARCHAR(40),[PERIOD DESCRIPTION LONG] VARCHAR(40),[UNITS] BIGINT,[EQ1] BIGINT,[DOL] BIGINT,[AVG UNIT PRICE] BIGINT,[AVG EQ1 PRICE] BIGINT,[PCTACV] BIGINT,[EST ACV SELLING] BIGINT,[ANY PROMO UNITS] BIGINT,[ANY PROMO DOL] BIGINT,[TDP] BIGINT,[TDP YA] BIGINT,[BASE DOL] BIGINT,[BASE UNITS] BIGINT,[BASE EQ] BIGINT,[ANY PROMO EQ] BIGINT,[FEAT WO disP PCTACV] BIGINT,[NUMBER OF STORES] BIGINT,[NUMERICAL disTRIBUTION] BIGINT
)
WITH (DATA_SOURCE = [AzureDataLakeStorage],LOCATION = N'/CA/FCT.CSV',FILE_FORMAT = [CsvFileFormat_withHeadersPipeDL],REJECT_TYPE = VALUE,REJECT_VALUE = 0)
GO
这是无效的创建表脚本:
CREATE EXTERNAL TABLE [Nielsen].[USA_Fact_external]
(
[HRCH LVL] VARCHAR(40),LOCATION = N'/USA/FCT.CSV',REJECT_VALUE = 0)
GO
这是外部数据源脚本,(敏感信息替换为星号):
CREATE EXTERNAL DATA SOURCE [AzureDataLakeStorage_Marketing] WITH (TYPE = HADOOP,LOCATION = N'abfss://marketing@***datalake.dfs.core.windows.net',CREDENTIAL = [******])
Screenshot of the scoped credential entry (sys.database_scoped_credentials)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。