java - 如何使用 apache avro 生成无模式的 avro 文件?

标签 java apache avro

我正在使用 Apache avro 进行数据序列化。因为,数据有一个固定的模式,我不希望模式成为序列化数据的一部分。在以下示例中,模式是 avro 文件“users.avro”的一部分。

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

谁能告诉我如何存储没有嵌入模式的 avro 文件?

最佳答案

Here你会找到一个全面的方法,我在其中解释了如何使用 Apache Avro 实现无模式序列化。 配套测试 Activity 会显示一些您可能期望的性能数据。

code is on GitHub : 示例和测试类展示了如何将 Data Reader 和 Writer 与 Avro 本身生成的 Stub 类一起使用。

关于java - 如何使用 apache avro 生成无模式的 avro 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28808479/

相关文章:

java - 蓝牙服务器传入缓冲区处理

java - Java 中的接口(interface)继承

java - 创建 n 个数组

php - htaccess无限循环问题

ios - Apache BrowserMatch iOS 禁用 keepalive。匹配所有 iOS 版本?

apache-kafka - 带有 kafka-avro-console-consumer 的未知魔法字节

java - 从 Avro GenericRecord 获取类型值

java - Java 中的自定义 LinkedList 具有维护的插入顺序

apache - 子域重定向到 www

java - 如何解决Kafka Avro反序列化问题