如何避免Avro模式中Map映射的Map映射

时间:2017-03-29 10:20:25

标签: java hadoop avro bigdata

在我的应用程序中需要为Map Map(4级嵌套映射)的Map定义Avro Schema。我在除最后一张地图(最终内部地图)之外的每个级别使用键。我想知道架构的优缺点是什么。表现有问题吗?

2 个答案:

答案 0 :(得分:0)

始终避免使用嵌套地图。

AVRO文件格式是基于模式的。如果使用嵌套映射,则很难设计架构。 avro也基于序列化技术。如果您打算使用“String”,它将正常工作,但不适用于其他数据类型。

答案 1 :(得分:0)

查看您的架构图的选择>>它意味着对于给定的键,您有很多值。

这是一个经典案例,您应该开始寻找像镶木地板这样的柱状数据存储。

将AVRO与镶木地板混合并展平Avro架构。

由于镶木地板是柱状数据格式,它不会多次存储重复数据,而只会存储一次。

使用ORC,您将得到一个简单的AVRO模式

http://bytepadding.com/big-data/spark/read-write-parquet-files-using-spark/