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);
}
}