我有一个JSON文档的语料库,我想用Parquet格式转换/存储它们,以便使用C ++进行高效处理。 关于这个过程,我有两个问题:
Q1-在我在网上发现的用于将数据转换为Parquet格式(例如this)的所有类似示例和测试案例中,似乎应该提前定义架构。但是,我的JSON文档不符合单个/固定架构。我只是想知道模式定义是否确实是一个要求(因为我猜Parquet旨在有效地支持嵌套和可选值的非结构化数据)。
Q2-几乎所有可用的示例都使用Java库。但是,我正在寻找一种在C ++中进行这种转换的有效方法。有什么暗示/建议吗? (我已经开始查看Parquet-cpp repo及其测试用例,但我想知道是否有更简洁的示例,并且可用的最小依赖项。)
答案 0 :(得分:2)
A1:Parquet支持嵌套和可选值,但您需要提前提供一个指定这些嵌套/可选数据元素的模式定义。
A2:parquet-cpp是我所知道的Parquet唯一的C ++库。当然,并不是写Parquet的唯一方法 - 例如,Impala实现了自己的Parquet堆栈,但你可能不想这样做。