java - 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。
解决方案
你需要一个 Spark 的发行版,它在 hadoop-azure JAR 中有 abfs 连接器。正常 ASF 版本中的 hadoop-2.7.x JAR 没有,因为 abfs 后来出现(2.9+)
推荐阅读
- python - Discord.py:如何从用户对象中获取成员对象?
- reactjs - 匹配的查询不存在。DRF
- python - 当以不同格式输入相同数据时,`tf.keras.model.evaluate()` 会提供不同的结果
- dart - 使用非位置参数时如何强制调用抽象类构造函数?
- raspberry-pi - Raspberry rc.local 脚本在启动时不起作用
- qt - 如何在 Qt5 中执行 .cmd 填充
- sql - SQL Server 中用户定义函数的问题
- c - 静态变量更改值而不显示错误?
- sql - 如何在雅典娜中使用带有sqlite的tsv文件对列进行行格式化
- bash - 如何使用 xargs 输出到不同的文件名?