Replace deprecated jackson version
This commit is contained in:
committed by
vinoth chandar
parent
1b756db221
commit
fa787ab5ab
@@ -89,10 +89,6 @@
|
|||||||
<groupId>com.fasterxml.jackson.core</groupId>
|
<groupId>com.fasterxml.jackson.core</groupId>
|
||||||
<artifactId>jackson-annotations</artifactId>
|
<artifactId>jackson-annotations</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
|
||||||
<groupId>org.codehaus.jackson</groupId>
|
|
||||||
<artifactId>jackson-mapper-asl</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.parquet</groupId>
|
<groupId>org.apache.parquet</groupId>
|
||||||
<artifactId>parquet-avro</artifactId>
|
<artifactId>parquet-avro</artifactId>
|
||||||
@@ -114,11 +110,6 @@
|
|||||||
<artifactId>hadoop-common</artifactId>
|
<artifactId>hadoop-common</artifactId>
|
||||||
<classifier>tests</classifier>
|
<classifier>tests</classifier>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
|
||||||
<groupId>org.codehaus.jackson</groupId>
|
|
||||||
<artifactId>jackson-core-asl</artifactId>
|
|
||||||
<version>1.9.13</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.commons</groupId>
|
<groupId>org.apache.commons</groupId>
|
||||||
<artifactId>commons-lang3</artifactId>
|
<artifactId>commons-lang3</artifactId>
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ import java.util.Map;
|
|||||||
import org.apache.avro.Schema;
|
import org.apache.avro.Schema;
|
||||||
import org.apache.avro.generic.GenericData;
|
import org.apache.avro.generic.GenericData;
|
||||||
import org.apache.avro.generic.GenericRecord;
|
import org.apache.avro.generic.GenericRecord;
|
||||||
import org.codehaus.jackson.map.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Marjority of this is copied from https://github.com/jwills/avro-json/blob/master/src/main/java/com/cloudera/science/avro/common/JsonConverter.java
|
* Marjority of this is copied from https://github.com/jwills/avro-json/blob/master/src/main/java/com/cloudera/science/avro/common/JsonConverter.java
|
||||||
|
|||||||
@@ -16,6 +16,8 @@
|
|||||||
|
|
||||||
package com.uber.hoodie.common;
|
package com.uber.hoodie.common;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.JsonNode;
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import com.uber.hoodie.avro.MercifulJsonConverter;
|
import com.uber.hoodie.avro.MercifulJsonConverter;
|
||||||
import com.uber.hoodie.common.model.HoodieRecordPayload;
|
import com.uber.hoodie.common.model.HoodieRecordPayload;
|
||||||
import com.uber.hoodie.exception.HoodieException;
|
import com.uber.hoodie.exception.HoodieException;
|
||||||
@@ -30,8 +32,6 @@ import java.util.zip.InflaterInputStream;
|
|||||||
import org.apache.avro.Schema;
|
import org.apache.avro.Schema;
|
||||||
import org.apache.avro.generic.IndexedRecord;
|
import org.apache.avro.generic.IndexedRecord;
|
||||||
import org.apache.commons.io.IOUtils;
|
import org.apache.commons.io.IOUtils;
|
||||||
import org.codehaus.jackson.JsonNode;
|
|
||||||
import org.codehaus.jackson.map.ObjectMapper;
|
|
||||||
|
|
||||||
public class HoodieJsonPayload implements HoodieRecordPayload<HoodieJsonPayload> {
|
public class HoodieJsonPayload implements HoodieRecordPayload<HoodieJsonPayload> {
|
||||||
|
|
||||||
@@ -98,7 +98,7 @@ public class HoodieJsonPayload implements HoodieRecordPayload<HoodieJsonPayload>
|
|||||||
if (!node.has(field)) {
|
if (!node.has(field)) {
|
||||||
throw new HoodieException("Field :" + field + " not found in payload => " + node.toString());
|
throw new HoodieException("Field :" + field + " not found in payload => " + node.toString());
|
||||||
}
|
}
|
||||||
return node.get(field).getTextValue();
|
return node.get(field).textValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getRowKey(String keyColumnField) throws IOException {
|
public String getRowKey(String keyColumnField) throws IOException {
|
||||||
|
|||||||
@@ -16,7 +16,11 @@
|
|||||||
|
|
||||||
package com.uber.hoodie.common.model;
|
package com.uber.hoodie.common.model;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonAutoDetect;
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||||
|
import com.fasterxml.jackson.annotation.PropertyAccessor;
|
||||||
|
import com.fasterxml.jackson.databind.DeserializationFeature;
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.nio.charset.Charset;
|
import java.nio.charset.Charset;
|
||||||
@@ -27,10 +31,6 @@ import java.util.Map;
|
|||||||
import org.apache.hadoop.fs.Path;
|
import org.apache.hadoop.fs.Path;
|
||||||
import org.apache.log4j.LogManager;
|
import org.apache.log4j.LogManager;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
import org.codehaus.jackson.annotate.JsonAutoDetect;
|
|
||||||
import org.codehaus.jackson.annotate.JsonMethod;
|
|
||||||
import org.codehaus.jackson.map.DeserializationConfig.Feature;
|
|
||||||
import org.codehaus.jackson.map.ObjectMapper;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* All the metadata that gets stored along with a commit.
|
* All the metadata that gets stored along with a commit.
|
||||||
@@ -116,9 +116,7 @@ public class HoodieCommitMetadata implements Serializable {
|
|||||||
log.info("partition path is null for " + partitionToWriteStats.get(null));
|
log.info("partition path is null for " + partitionToWriteStats.get(null));
|
||||||
partitionToWriteStats.remove(null);
|
partitionToWriteStats.remove(null);
|
||||||
}
|
}
|
||||||
ObjectMapper mapper = new ObjectMapper();
|
return getObjectMapper().writerWithDefaultPrettyPrinter().writeValueAsString(this);
|
||||||
mapper.setVisibility(JsonMethod.FIELD, JsonAutoDetect.Visibility.ANY);
|
|
||||||
return mapper.defaultPrettyPrintingWriter().writeValueAsString(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static HoodieCommitMetadata fromJsonString(String jsonStr) throws IOException {
|
public static HoodieCommitMetadata fromJsonString(String jsonStr) throws IOException {
|
||||||
@@ -126,10 +124,7 @@ public class HoodieCommitMetadata implements Serializable {
|
|||||||
// For empty commit file (no data or somethings bad happen).
|
// For empty commit file (no data or somethings bad happen).
|
||||||
return new HoodieCommitMetadata();
|
return new HoodieCommitMetadata();
|
||||||
}
|
}
|
||||||
ObjectMapper mapper = new ObjectMapper();
|
return getObjectMapper().readValue(jsonStr, HoodieCommitMetadata.class);
|
||||||
mapper.configure(Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);
|
|
||||||
mapper.setVisibility(JsonMethod.FIELD, JsonAutoDetect.Visibility.ANY);
|
|
||||||
return mapper.readValue(jsonStr, HoodieCommitMetadata.class);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Here the functions are named "fetch" instead of "get", to get avoid of the json conversion.
|
// Here the functions are named "fetch" instead of "get", to get avoid of the json conversion.
|
||||||
@@ -235,4 +230,11 @@ public class HoodieCommitMetadata implements Serializable {
|
|||||||
public static HoodieCommitMetadata fromBytes(byte[] bytes) throws IOException {
|
public static HoodieCommitMetadata fromBytes(byte[] bytes) throws IOException {
|
||||||
return fromJsonString(new String(bytes, Charset.forName("utf-8")));
|
return fromJsonString(new String(bytes, Charset.forName("utf-8")));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static ObjectMapper getObjectMapper() {
|
||||||
|
ObjectMapper mapper = new ObjectMapper();
|
||||||
|
mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
|
||||||
|
mapper.setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY);
|
||||||
|
return mapper;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,14 +16,14 @@
|
|||||||
|
|
||||||
package com.uber.hoodie.common.util;
|
package com.uber.hoodie.common.util;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonAutoDetect;
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||||
|
import com.fasterxml.jackson.annotation.PropertyAccessor;
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import org.codehaus.jackson.annotate.JsonAutoDetect;
|
|
||||||
import org.codehaus.jackson.annotate.JsonMethod;
|
|
||||||
import org.codehaus.jackson.map.ObjectMapper;
|
|
||||||
|
|
||||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||||
@SuppressWarnings({"unused", "FieldCanBeLocal", "MismatchedQueryAndUpdateOfCollection"})
|
@SuppressWarnings({"unused", "FieldCanBeLocal", "MismatchedQueryAndUpdateOfCollection"})
|
||||||
@@ -97,7 +97,7 @@ public class TestRecord implements Serializable {
|
|||||||
|
|
||||||
public String toJsonString() throws IOException {
|
public String toJsonString() throws IOException {
|
||||||
ObjectMapper mapper = new ObjectMapper();
|
ObjectMapper mapper = new ObjectMapper();
|
||||||
mapper.setVisibility(JsonMethod.FIELD, JsonAutoDetect.Visibility.ANY);
|
mapper.setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY);
|
||||||
return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(this);
|
return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -148,10 +148,6 @@
|
|||||||
<groupId>com.fasterxml.jackson.core</groupId>
|
<groupId>com.fasterxml.jackson.core</groupId>
|
||||||
<artifactId>jackson-annotations</artifactId>
|
<artifactId>jackson-annotations</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
|
||||||
<groupId>org.codehaus.jackson</groupId>
|
|
||||||
<artifactId>jackson-mapper-asl</artifactId>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.hadoop</groupId>
|
<groupId>org.apache.hadoop</groupId>
|
||||||
|
|||||||
Reference in New Issue
Block a user