参考较清楚一点点的文章系列(我就不再赘述):
https://blog.csdn.net/zwgdft/article/details/104582229
https://blog.csdn.net/zwgdft/article/details/104670086
https://blog.csdn.net/zwgdft/article/details/105417979
难点在于,一:repeated level理解,二:defined level理解,三 对repeated optional对象的null表示,四,parquet在spark中有所变种
第二个 defined level理解,我就是展开字段,eg:trans.uri 或spark里 trans.list.element.uri,那层上开始有值,就是第几层。
第三四个,null表示,原parquet,就是repeate optional叶子节点如果字段值为null,都要(R,D,V=null)表示,spark中,简化为仅需optional成为叶子节点,的对为不为null进行表示。
至于第一个,
里面的样例,还是过于单调,对理解Dremel的(R,D,V)模型的repeated还是有些不清不楚