Spark app [error](*:assembly)重复数据删除:在以下内容中找到不同的文件内容:

时间:2016-04-12 18:45:51

标签: apache-spark sbt

有谁知道如何避免以下重复文件错误?

我有一个Spark应用程序,直到昨晚一直在InteliJ社区版中工作,并且由于没有明显的原因,来自esotericsoftware的两个罐子现在导致错误被引发。当我现在执行sbt程序集时,我收到以下错误消息。

public static class CustomDeserializer implements JsonDeserializer<ServerResponse> {
    @Override
    public ServerResponse deserialize(JsonElement je, Type type, JsonDeserializationContext jdc)
            throws JsonParseException {
        Type t = ((ParameterizedType) type).getActualTypeArguments()[0];

        JsonObject jObject = (JsonObject) je;
        ServerResponse serverResponse = new ServerResponse();

        JsonElement dataElement = jObject.get("data");
        JsonElement errorElement = jObject.get("error");
        JsonElement statusElement = jObject.get("status");

        Error error = jdc.deserialize(errorElement, Error.class);
        ResponseStatus status = jdc.deserialize(statusElement, ResponseStatus.class);

        ArrayList dataObj;
        if (dataElement.isJsonArray()) {
            JsonArray array = dataElement.getAsJsonArray();

            Type listT = ParameterizedTypeImpl.make(List.class, new Type[]{t}, null);
            dataObj  = jdc.deserialize(array, listT);
        } else {
            dataObj = new ArrayList();
            dataObj.add(jdc.deserialize(dataElement, t));
        }

        serverResponse.setError(error);
        serverResponse.setStatus(status);
        serverResponse.setData(dataObj);

        return serverResponse;
    }
}

我正在使用sbt,并且确实有如下的mergeStrategy。

Gson gson = new GsonBuilder().registerTypeAdapter(ServerResponse.class,new CustomDeserializer()).create();
ServerResponse<String> resp = gson.fromJson(jsonString, new TypeToken<ServerResponse<String>>() {}.getType());

1 个答案:

答案 0 :(得分:0)

今天经过大量搜索后,我在Stackoverflow中找到了答案。问题是缺少&#34;提供&#34;关于Spark-streaming依赖。这是4e6明确回答的另一个问题的网址。 error while running sbt assembly : sbt deduplication error