Azure Datalake Gen2 作为 Azure 数据资源管理器的外部 table

Azure Datalake Gen2 as external table for Azure Data Explorer

我们在分区文件夹下的 Azure Data lake Gen 2 中有 CSV 文件,因此单个大型 table 将有多个 CSV 文件。我们想通过创建外部 table 在 Azure 数据资源管理器中使用这些文件。所以我使用下面的脚本在 ADX 中创建一个外部 table:

   .create external table TestAdx
(

    id: int,
    name: string,
    designation: string
)
kind=adl

dataformat=csv

(
    h@'abfss://containername@storageaccountname.dfs.core.windows.net/staging/textadx;token=<<generating using .net API>>'
)

with 
(
   docstring = "Docs",
   folder = "ExternalTables",
   namePrefix="Prefix"
)

我能够执行此查询并创建了外部 table 但是当我尝试从此 table 获取数据时出现以下错误:

Semantic error: 'TestAdx' has the following semantic error: '' operator: Failed to resolve table or column or scalar expression named 'TestAdx'.

另外请告诉我这是使用 ADX 格式的 ADLS Gen2 文件的正确方法吗?

您 运行 的查询是什么?您在使用 external_table() 函数吗?

您需要使用 external_table("TestAdx") 访问外部 table。

以下是使用 Azure Data Lake Gen 2 的 Azure Data Explorer 创建外部 table 的示例。我添加了分区键和其他参数。

.create external table BugsCSV
(
    Column1 : string,
    Column2 : string,
    Column3 : string
)
kind=adl
partition by "State="State
dataformat=csv
(
    h@'abfss://containername@storageaccountname.dfs.core.windows.net/path;key'
)
with
(
    docstring = "Docs",
    folder = "ExternalTables",
    compressed=true,   
    compressiontype="lz4"
)