Urv*_*ida 5 apache serialization hadoop avro parquet
嗨,正在寻找 API 来使用我拥有的 Pojos 编写 parquest。我能够使用反射生成 avro 模式,然后使用 AvroSchemaConverter 创建镶木地板模式。此外,我无法找到将 Pojo 转换为 GenericRecords (avro) 的方法,否则我可以使用 AvroParquetWriter 将 Pojo 写出到镶木地板文件中。有什么建议 ?
小智 1
如果您想通过 avro,您有两种选择:
1) 让 avro 生成您的 pojo(请参阅此处的教程)。生成的 pojo 扩展 SpecificRecord,然后可以与 AvroParquetWriter 一起使用。
2) 自己编写从 pojo 到 GenericRecord 的转换。您可以手动执行此操作,或者更通用的解决方案是使用反射。然而,当我尝试读取数据时,这种方法遇到了困难。根据提供的模式,avro 在类路径中找到了 pojo,并尝试实例化 SpecificRecord 而不是 GenericRecord。由于这个原因,我选择了选项 1。
Parquet现在还支持直接编写pojo。这是 parquet github 页面上的拉取请求。但是,我认为这还不是正式版本的一部分。换句话说,我在maven中没有找到这段代码。
| 归档时间: |
|
| 查看次数: |
3336 次 |
| 最近记录: |