从U-SQL中引用ADL存储gen2文件。

问题描述 投票:0回答:1

我有一个ADL账户,设置了两个存储:默认设置为常规的ADLS gen1存储,以及一个启用了 "层次命名空间 "的blob存储,如果重要的话,它使用存储密钥连接到ADLS(目前没有管理身份)。第一个和这个问题无关,就是这样,第二个为了这个问题,注册的名字是 testdlsg2. 我看到这两个在Azure门户的数据资源管理器。

现在,我有一个容器在该blob存储称为 logs 而在该容器的根部有我要处理的日志文件。

我如何从U-SQL中引用那些特定存储和特定容器中的文件?

我已经阅读了ADLS Gen2 URI的内容 文件 并得出了以下U-SQL。

@data =
    EXTRACT
        Timestamp long,
        // skip, skip, skip
        LogDate DateTime,
        LogOrder int
    FROM "abfss://[email protected]/log_{LogDate:yyyy}{LogDate:MM}{LogDate:dd}_{LogOrder}.log.gz"
    USING Extractors.Text(delimiter: ' ', quoting: true, skipFirstNRows: 1);

// the rest is irrelevant

不幸的是,当我把它提交给ADL时,工作失败了,出现了以下错误:

CsEnumerateDirectoryWithPaging failed with error 0x83090A1A (The operation is not supported on the provided Url type). Cosmos路径:abfss:/[email protected]

当使用相对路径的本地存储时,查询在本地运行良好。

azure azure-data-lake u-sql azure-data-lake-gen2
1个回答
1
投票

根据评论,U-SQL不能与Azure Data Lake Gen 2一起工作,而且永远也不可能。 有一个反馈项目,你应该阅读。

https:/feedback.azure.comforums327234-data-lakesuggestions36445702-add-support-for-adls-gen2-to-adla。

在2020年,考虑使用Azure Databricks启动新的Azure分析项目。

© www.soinside.com 2019 - 2024. All rights reserved.