java - 通过avro格式将JSON文件转换为Parquet格式
问题描述
我有大量 JSON 文件,所有 JSON 文件都包含约 200 个属性的子集,其中大部分是复杂属性(该属性具有多个嵌套属性)。并非所有属性都必须存在于所有 JSON 文件中。
我想将这些 JSON 转换为 Parquet 格式的文件,寻找一种方法来执行此操作,我发现我需要将 JSON 转换为 avro 格式,然后将 avro 格式的数据转换为 Parquet 格式。
我的问题是我找不到提取 avro 模式的方法,尝试使用JsonUtil.inferSchema
将不起作用,因为并非所有属性都存在于每个 json 文件中。我在库中的 POJO java 类中存在属性,但是使用 avro 反射来获取模式不起作用,因为 pojo 中有泛型,这在 avro 中仍然不受支持。我最后的手段是手动编写模式,但这将非常耗时。
有没有其他方法可以获取 avro 架构?这是我过去两天一直在寻找解决方案的问题,让我感到沮丧。
解决方案
推荐阅读
- java - 未找到类型返回值的转换器:类 java.util.ArrayList
- node.js - 哪个执行更快,无头浏览器或 Curl?
- python - 需要帮助使用 for 循环从列表中打印奇数
- c - 使用 char 指针 -> 分段错误
- python - 在数组 Numpy 中查找非零元素的模式
- asp.net-mvc - 如何保护控制器仅对本地网络可见
- jenkins - 在 Jenkins 流水线并行阶段中,如果一个阶段失败,如何及时杀死其他阶段?
- javascript - JS 强制重新加载缓存清单 HTML
- php - 通过获取文本而不是 xpath 进行行为测试,单击具有 href 的选项卡
- javascript - 从流中读取前 X 行排序数据?