无法使用 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')
我在 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')