gpt4 book ai didi

maven - NoClassDefFoundError:org/json/JSONObject - Hadoop MapReduce

转载 作者:可可西里 更新时间:2023-11-01 16:11:06 24 4
gpt4 key购买 nike

我正在尝试使用 Json 作为输入来执行 Mapreduce 作业。我在 POM.xml 中导入了 JSON 依赖项,Maven 全新安装运行正常。但是当我在 Hadoop 中运行 Jar 时,我在 Mapper 类上遇到了 "NoClassDefFoundError: org/json/JSONObject" 错误。 (我也尝试使用 JSON Java 外部 Jar,但它不起作用。

这是我的测试映射器类:

package com.andrew.hadoopNBA.NbaJob1;

import java.io.IOException;

import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper;
import org.json.*;



public class PointsRankingMapper extends Mapper<Object, Text, Text, IntWritable> {

public void map(Object key, Text value, Context context)
throws IOException, InterruptedException {
try {

JSONObject jsn = new JSONObject(value.toString());
System.out.println("printing JSON " + jsn);

} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

这是 Maven 依赖项:

<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20140107</version>
</dependency>

有什么想法吗?

最佳答案

您可以使用 jackson处理 json。

<repositories>
<repository>
<id>codehaus</id>
<url>http://repository.codehaus.org/org/codehaus</url>
</repository>
</repositories>

<dependencies>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.8.5</version>
</dependency>
</dependencies>

或谷歌的 gson

<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>1.7.1</version>
</dependency>

关于maven - NoClassDefFoundError:org/json/JSONObject - Hadoop MapReduce,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30952680/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com