无法将Spark与Azure Gen2连接

时间:2020-04-23 07:53:58

标签: apache-spark hadoop azure-data-lake azure-data-lake-gen2

我正在尝试将Spark与Azure Gen2 datalake连接起来。为了连接它,我看到它需要以下两个类:

.set("spark.hadoop.fs.AbstractFileSystem.abfss.impl", "org.apache.hadoop.fs.azurebfs.Abfss")
.set("spark.hadoop.fs.abfss.impl", "org.apache.hadoop.fs.azurebfs.SecureAzureBlobFileSystem")

从github存储库中,我看到hadoop-azure 2.10和3. *版本中包含了这两个类。 我正在尝试在具有2.7.3二进制文件的spark kubernetes运算符上进行部署。 在我的行家中,我添加了 hadoop-azure 3.2.1 hadoop-commons 3.2.1 ,但我遇到了例外,

Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.security.ProviderUtils.excludeIncompatibleCredentialProviders(Lorg/apache/hadoop/conf/Configuration;Ljava/lang/Class;)Lorg/apache/hadoop/conf/Configuration;

表示Hadoop版本之间存在冲突。奇怪的是,我们还使用了某些作业中的数据块,它们似乎有2.7.3 hadoop二进制文件,但一切正常。 我尝试为 3.2.1 版本在我的 pom 中添加所有hadoop缺陷,但例外仍然存在。

由于我需要2.10+ hadoop版本,但是我的集群具有2.7.3,我该如何用gen2配置spark?

0 个答案:

没有答案