Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import com.fasterxml.jackson.databind.JsonNode;
- import com.fasterxml.jackson.databind.ObjectMapper;
- import com.fasterxml.jackson.databind.node.ArrayNode;
- import com.fasterxml.jackson.databind.node.ObjectNode;
- import com.fasterxml.jackson.databind.node.ValueNode;
- import org.apache.avro.Schema;
- import org.apache.avro.file.DataFileReader;
- import org.apache.avro.generic.GenericDatumReader;
- import org.apache.avro.generic.GenericDatumWriter;
- import org.apache.avro.generic.GenericRecord;
- import org.apache.avro.io.DatumWriter;
- import org.apache.avro.io.Encoder;
- import org.apache.avro.io.EncoderFactory;
- import org.json.JSONObject;
- import java.io.*;
- import java.nio.file.Files;
- import java.nio.file.Paths;
- import java.util.HashMap;
- import java.util.Iterator;
- import java.util.Map;
- public class Main
- {
- public static void main(String[] args) throws IOException {
- final Schema schema = new Schema.Parser().parse(new File("twitter.avsc"));
- File file = new File("twitter.avro");
- //read the avro file to GenericRecord
- final GenericDatumReader<GenericRecord> genericDatumReader = new GenericDatumReader<>(schema);
- final DataFileReader<GenericRecord> genericRecords = new DataFileReader<>(file, genericDatumReader);
- //serialize GenericRecords
- ByteArrayOutputStream out = new ByteArrayOutputStream();
- DatumWriter<GenericRecord> writer = new GenericDatumWriter<>(schema);
- Encoder binaryEncoder = EncoderFactory.get().binaryEncoder(out, null);
- while (genericRecords.hasNext()) {
- writer.write(genericRecords.next(), binaryEncoder);
- }
- binaryEncoder.flush();
- out.close();
- String testV = new JSONObject(new String(out.toByteArray())).toString();
- System.out.println(testV);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement