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();
DatumWriter<User>
的目的是什么?我的意思是它提供了什么?它提供了write
方法,但我们使用它 DataFileWriter
.有人可以解释一下它的设计目的吗?
DatumWriter 类,负责将给定的数据对象转换为具有给定架构的 avro 记录(在您的情况下从 User 类中提取)。
给定此记录,DataFileWriter 负责将其写入文件。