为什么Azure SQL数据仓库Polybase查询Azure Data Lake 2会为单个文件源返回多行,而对于父文件夹源则返回零行?
我创造了:
创建主KEY;)
)
当我的外部表指向一个特定的文件时,一切都很好。
CREATE EXTERNAL TABLE [ext].[Time]
(
[TimeID] int NOT NULL,
[HourNumber] tinyint NOT NULL,
[MinuteNumber] tinyint NOT NULL,
[SecondNumber] tinyint NOT NULL,
[TimeInSecond] int NOT NULL,
[HourlyBucket] varchar(15) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL
)
WITH
(
LOCATION = '/Time/time001.txt',
DATA_SOURCE = ADLSDataSource,
FILE_FORMAT = uncompressedcsv,
REJECT_TYPE = value,
REJECT_VALUE = 2147483647
);SELECT * FROM [ext].[Time];返回了许多行,因此我确信上面提到的所有项目都配置正确。
2中的Time文件夹包含许多文件,而不仅仅是time001.txt。当我将外部表更改为指向文件夹而不是单个文件时,查询将返回零行,即
CREATE EXTERNAL TABLE [ext].[Time]
(
[TimeID] int NOT NULL,
[HourNumber] tinyint NOT NULL,
[MinuteNumber] tinyint NOT NULL,
[SecondNumber] tinyint NOT NULL,
[TimeInSecond] int NOT NULL,
[HourlyBucket] varchar(15) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL
)
WITH
(
LOCATION = '/Time/',
DATA_SOURCE = ADLSDataSource,
FILE_FORMAT = uncompressedcsv,
REJECT_TYPE = value,
REJECT_VALUE = 2147483647
);SELECT * FROM [ext].[Time];零行返回
我试过:
F 231
--我测试了文件夹中的所有文件,并分别返回了许多行数据。
I查询了Blob存储中的所有文件,而不是Gen2,“文件夹”查询按预期返回所有行。
如何使用Azure SQL数据仓库和Polybase从Azure数据湖Gen2存储中查询文件夹中的所有文件?
发布于 2021-04-19 20:29:18
我正面临着一个完全相同的问题:问题在于数据源协议。
带有错误的脚本:
CREATE EXTERNAL DATA SOURCE datasourcename
WITH (
TYPE = HADOOP,
LOCATION = 'abfss://container@storage.blob.core.windows.net',
CREDENTIAL = credential_name解决问题的脚本:
CREATE EXTERNAL DATA SOURCE datasourcename
WITH (
TYPE = HADOOP,
LOCATION = 'abfss://container@storage.dfs.core.windows.net',
CREDENTIAL = credential_name唯一需要的改变就是地点。
感谢微软支持团队在这方面的帮助。
https://stackoverflow.com/questions/61119205
复制相似问题