当使用spark-submit在本地的idea跑job的时候,如果出现adl相关的问题,是因为在和azure datalake连接时出现了问题。具体的error类似:
hadoop-azure-datalake java.io.IOException: No FileSystem for scheme: adl
或者:
java.lang.ClassNotFoundException: Class org.apache.hadoop.fs.adl.AdlFileSystem not found
这些都是由于没有加在相关的mavenjar包导致的。需要到到ideaij右上角的file=>project structure=>SDKs里面正在使用的jdk中加入hadoop的classpath:
在maven repository里面找到一下两个jar包并添加进去:
hadoop-azure-datalake-2.9.2.jar
hadoop-azure-2.9.2.jar
如果在本地找不到这两个jar包可以在pom.xml里面添加jar包的形式,mvn install。
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-azure-datalake</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-azure</artifactId>
<version>2.9.2</version>
</dependency>