无法使用 ADX External table "Virtual columns" 访问 ADLS Gen 2 中的文件

Fail to access files in ADLS Gen 2 with ADX External table "Virtual columns"

我在 Azure Data Lake Gen 2 中有一个简单的文件夹树,它按日期分区,具有以下标准文件夹结构:{yyyy}/{MM}/{dd} . 例如/Container/folder1/sub_folder/2020/11/01

在每个叶文件夹中,我有一些 CSV 文件,其中几列但没有时间戳(因为日期已经嵌入到文件夹名称中)。

我正在尝试创建一个 ADX 外部 table,它将包含日期的虚拟列,然后按日期查询 ADX 中的数据(这是 Hive 和大数据中众所周知的模式一般来说)。

.create-or-alter external table TableName (col1:double, col2:double, col3:double, col4:double) 
kind=adl
partition by (Date:datetime)
pathformat = ("/date=" datetime_pattern("year={yyyy}/month={MM}/day={dd}", Date))    
dataformat=csv 
( 
   h@'abfss://container@datalake_name.dfs.core.windows.net/folder1/subfolder/;{key}'
) 
with (includeHeaders = 'All')

不幸的是,查询 table 失败,并显示工件 return 一个空列表。

external_table("Table Name")
| take 10

.show external table Walmart_2141_OEE artifacts

但有以下例外:

Query execution has resulted in error (0x80070057): Partial query failure: The parameter is incorrect. (message: 'path2
Parameter name: Argument 'path2' failed to satisfy condition 'Can't append a full path': at Concat in C:\source\Src\Common\Kusto.Cloud.Platform\Utils\UriPath.cs: line 25: 

我尝试遵循 documentation 中描述的多种路径格式和 datetime_pattern,但没有任何效果。

有什么想法吗?

根据您的描述,以下定义应该有效:

.create-or-alter external table TableName (col1:double, col2:double, col3:double, col4:double) 
kind=adl
partition by (Date:datetime)
pathformat = (datetime_pattern("yyyy/MM/dd", Date))    
dataformat=csv 
( 
   h@'abfss://container@datalake_name.dfs.core.windows.net/folder1/subfolder;{key}'
) 
with (includeHeaders = 'All')