La serialización de Avro es popular entre los usuarios de Hadoop, pero los ejemplos son muy difíciles de encontrar.Uso de apache avro para reflejar
¿Alguien me puede ayudar con este código de muestra? Estoy más que interesado en usar la API Reflect para leer/escribir en archivos y para usar las anotaciones Union y 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);
}
}
Visto eso. Eso es para escribir en una transmisión. Entonces, si está escrito en un archivo, sospecho que no contendrá el encabezado. Si es así, probablemente no será posible interpretarlo en un lenguaje de programación diferente. Además, el ejemplo no aborda el uso de estructuras de datos más complejas con campos o uniones que aceptan nulos. – fodon
Estoy de acuerdo con @fodon. Me gustaría poder ver ejemplos más detallados ya que creo que existen algunos errores que las pruebas no están teniendo en cuenta. – Dan
@LordAragon el enlace ya no funciona. Esta es otra razón por la cual es una buena práctica compartir contenido real también a partir de la referencia. – Sankalp