Odbicie za pomocą apache avro

Serializacja Avro jest popularna wśród użytkowników Hadoop, ale trudno znaleźć przykłady.

Czy ktoś może mi pomóc w tym przykładowym kodzie? Najbardziej interesuje mnie użycie interfejsu Reflect do odczytu / zapisu plików i używania adnotacji Union i Null.

public class Reflect {

    public class Packet {
        int cost;
        @Nullable TimeStamp stamp;
        public Packet(int cost, TimeStamp stamp){
            this.cost = cost;
            this.stamp = stamp;
        }
    }

    public class TimeStamp {
        int hour = 0;
        int second = 0;
        public TimeStamp(int hour, int second){
            this.hour = hour;
            this.second = second;
        }
    }

    public static void main(String[] args) throws IOException {
        TimeStamp stamp;
        Packet packet;

        stamp = new TimeStamp(12, 34);
        packet = new Packet(9, stamp);
        write(file, packet);

        packet = new Packet(8, null);
        write(file, packet);
        file.close();

        // open file to read.
        packet = read(file);
        packet = read(file);
    }
}

questionAnswers(1)

yourAnswerToTheQuestion