我想将JSON数据转换为Avro文件。那么我该如何通过Java API /代码来实现呢?
我的示例JSON文件是:
[
{
"ProductID": "101.0",
"Id": "1.0",
"OrderID": "1111.0",
"Name": "John"
},
{
"ProductID": "102.0",
"Id": "2.0",
"OrderID": "2222.0",
"Name": "Taylor"
}
]
首先,我如何从JSON文件创建Avro架构文件?
其次,在创建Avro架构后,如何将其转换为Avro文件?
答案 0 :(得分:2)
检查以下代码是否对您有用。
public <T> T jsonDecodeToAvro(String inputString, Class<T> className,
Schema schema) {
T returnObject = null;
try {
JsonDecoder jsonDecoder = DecoderFactory.get().jsonDecoder(schema,
inputString);
SpecificDatumReader<T> reader = new
SpecificDatumReader<T>(className);
returnObject = reader.read(null, jsonDecoder);
} catch (IOException e) {
e.printStackTrace();
}
return returnObject;
}