首页 > 解决方案 > java.io.IOException: No FileSystem for scheme: abfs for adls-gen 2 in spark java

问题描述

我正在尝试使用以下配置属性访问 spark java 中的 adls gen2。

fs.azure.account.auth.type
fs.azure.account.oauth.provider.type
fs.azure.account.oauth2.client.endpoint
fs.azure.account.oauth2.client.id
fs.azure.account.oauth2.client.secret

我已经创建了 blob 容器并上传了文件路径 ex。https://devbdstreamsv2.dfs.core.windows.net/gen2container/adlsgen2/flat.json在其中使用软件“Azure 存储资源管理器”1.9 版。我正在尝试根据文档中提到的代码访问我正在使用的 abfs 文件路径。abfs[s]://<file_system>@<account_name>.dfs.core.windows.net/<path>/ 但我怀疑我们没有在运行程序代码的任何地方初始化 abfs 文件路径。所以我得到了异常“No FileSystem for scheme:abfs”。我该如何解决这个问题?我想知道使用 spark java 初始化 abfs 文件系统adls gen2。

标签: javaapache-spark

解决方案


你需要一个 Spark 的发行版,它在 hadoop-azure JAR 中有 abfs 连接器。正常 ASF 版本中的 hadoop-2.7.x JAR 没有,因为 abfs 后来出现(2.9+)


推荐阅读