我有一个 ADL 帐户设置了两个存储:常规 ADLS gen1 存储设置为默认值和启用了“分层命名空间”的 blob 存储,如果这很重要,则使用存储密钥连接到 ADLS(此时没有托管身份) . 第一个与问题无关,只是为了这个问题,第二个注册在 name 下testdlsg2
。我在 Azure 门户的数据资源管理器中都看到了。
现在,我在该 blob 存储中有一个名为的容器,logs
并且在该容器的根目录中有我要处理的日志文件。
如何从 U-SQL 引用特定存储和特定容器中的这些文件?
我已经阅读了 ADLS Gen2 URI文档并提出了以下 U-SQL:
@data =
EXTRACT
Timestamp long,
// skip, skip, skip
LogDate DateTime,
LogOrder int
FROM "abfss://logs@testdlsg2.dfs.core.windows.net/log_{LogDate:yyyy}{LogDate:MM}{LogDate:dd}_{LogOrder}.log.gz"
USING Extractors.Text(delimiter: ' ', quoting: true, skipFirstNRows: 1);
// the rest is irrelevant
不幸的是,当我将其提交给 ADL 时,作业失败并出现以下错误:
CsEnumerateDirectoryWithPaging 失败,错误为 0x83090A1A(提供的 Url 类型不支持该操作)。Cosmos 路径:abfss://logs@testdlsg2.dfs.core.windows.net/
当使用具有相对路径的本地存储时,查询在本地运行良好。