Advertisement
ibragimova_mariam

Untitled

Feb 20th, 2021
219
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.81 KB | None | 0 0
  1. import com.fasterxml.jackson.databind.JsonNode;
  2. import com.fasterxml.jackson.databind.ObjectMapper;
  3. import com.fasterxml.jackson.databind.node.ArrayNode;
  4. import com.fasterxml.jackson.databind.node.ObjectNode;
  5. import com.fasterxml.jackson.databind.node.ValueNode;
  6. import org.apache.avro.Schema;
  7. import org.apache.avro.file.DataFileReader;
  8. import org.apache.avro.generic.GenericDatumReader;
  9. import org.apache.avro.generic.GenericDatumWriter;
  10. import org.apache.avro.generic.GenericRecord;
  11. import org.apache.avro.io.DatumWriter;
  12. import org.apache.avro.io.Encoder;
  13. import org.apache.avro.io.EncoderFactory;
  14. import org.json.JSONObject;
  15.  
  16. import java.io.*;
  17. import java.nio.file.Files;
  18. import java.nio.file.Paths;
  19. import java.util.HashMap;
  20. import java.util.Iterator;
  21. import java.util.Map;
  22.  
  23. public class Main
  24. {
  25. public static void main(String[] args) throws IOException {
  26. final Schema schema = new Schema.Parser().parse(new File("twitter.avsc"));
  27. File file = new File("twitter.avro");
  28.  
  29. //read the avro file to GenericRecord
  30. final GenericDatumReader<GenericRecord> genericDatumReader = new GenericDatumReader<>(schema);
  31. final DataFileReader<GenericRecord> genericRecords = new DataFileReader<>(file, genericDatumReader);
  32.  
  33. //serialize GenericRecords
  34. ByteArrayOutputStream out = new ByteArrayOutputStream();
  35. DatumWriter<GenericRecord> writer = new GenericDatumWriter<>(schema);
  36.  
  37. Encoder binaryEncoder = EncoderFactory.get().binaryEncoder(out, null);
  38.  
  39. while (genericRecords.hasNext()) {
  40. writer.write(genericRecords.next(), binaryEncoder);
  41. }
  42. binaryEncoder.flush();
  43. out.close();
  44. String testV = new JSONObject(new String(out.toByteArray())).toString();
  45. System.out.println(testV);
  46. }
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement