Sto usando Apache avro per la serializzazione dei dati. Poiché i dati hanno uno schema fisso, non voglio che lo schema faccia parte dei dati serializzati. Nell'esempio seguente, lo schema è una parte del file avro "users.avro".Come generare file avro senza schema utilizzando avro apache?
User user1 = new User();
user1.setName("Alyssa");
user1.setFavoriteNumber(256);
User user2 = new User("Ben", 7, "red");
User user3 = User.newBuilder()
.setName("Charlie")
.setFavoriteColor("blue")
.setFavoriteNumber(null)
.build();
// Serialize user1 and user2 to disk
File file = new File("users.avro");
DatumWriter<User> userDatumWriter = new SpecificDatumWriter<User>(User.class);
DataFileWriter<User> dataFileWriter = new DataFileWriter<User (userDatumWriter);
dataFileWriter.create(user1.getSchema(), new File("users.avro"));
dataFileWriter.append(user1);
dataFileWriter.append(user2);
dataFileWriter.append(user3);
dataFileWriter.close();
Qualcuno può dirmi come archiviare i file avro senza schema incorporato?
Utilizzando l'approccio descritto nel codice è possibile specificare un codec? Cioè generare schemi di Avro che, ad esempio, si sgonfiano compressi? –