将hadoop-aws依赖jar添加到pom文件

时间:2018-01-10 15:51:04

标签: apache-spark amazon-s3

我使用HDP版本2.6.3和2.2版本的Spark(不是HDP云),我试图从IntelliJ项目写入s3。我在我的一个数据节点上从shell写入s3存储桶没有问题,但是当我尝试在IntelliJ中的本地计算机上测试我的应用程序时,我收到错误(ERROR MetricsSystem:Sink类org.apache.spark.metrics将Hadoop-aws jar依赖项添加到我的pom文件后,无法实例化.sink.MetricsServlet。有谁知道你需要如何添加这种依赖关系有什么细微差别?如果我把依赖关系放在我的pom中的spark依赖项之上,那么我会因缺少spark类而得到不同的错误,所以看起来你把它放在什么顺序似乎很重要。

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,通过将Jackson的库从Hadoop的依赖项中排除来解决它。

<dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-aws</artifactId>
        <version>${hadoop.version}</version>
        <exclusions>
            <exclusion>  <!-- declare the exclusion here -->
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-core</artifactId>
            </exclusion>
            <exclusion>  <!-- declare the exclusion here -->
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
            </exclusion>
            <exclusion>  <!-- declare the exclusion here -->
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-annotations</artifactId>
            </exclusion>
        </exclusions>
    </dependency>