如何避免avro模式中的map-of-map

djmepvbi  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(279)

在我的应用程序中,需要为map-of-map(4级嵌套Map)的map-of-map定义avro模式。除了最后一个贴图(最终的内部贴图),我在每个级别都使用了键。我想知道这种模式的优缺点是什么。性能有问题吗?

o2rvlv0m

o2rvlv0m1#

查看模式Map的选择>>这意味着对于给定的键,您有很多值。
当您应该开始寻找类似parquet的柱状数据存储时,这是一个典型的情况。
混合avro与Parquet地板和平坦的avro模式。
由于parquet是柱状数据格式,它不会多次存储重复的数据,而只存储一次。
通过使用orc,你将得到一个简单的avro模式
http://bytepadding.com/big-data/spark/read-write-parquet-files-using-spark/

bgtovc5b

bgtovc5b2#

始终避免使用嵌套贴图。
avro文件格式是基于模式的。如果使用嵌套Map,设计模式将变得困难。avro也基于串行化技术工作。如果您打算使用“string”,它将很好地工作,但不适用于其他数据类型。

相关问题