文章预览
阿里妹导读 本文详细介绍了在MaxCompute中如何使用 TRANS_ARRAY 和LATERAL VIEW EXPLODE函数来实现列转行的功能。 使用场景 有这样一种场景,需要将下面A表中的self_code_list转化为a_tag_list,self_code到a_tag有一一映射关系的,这个映射关系在B表中。对于映射关系的转化一般是用join的方式去解决(目前没有想到更好的方式,如果有哪位大神有更好的方式欢迎在评论区留言)。 图1-A表 图2-B表 对目前这种数据结构肯定是不好处理的,但是如果转化成图3中所示: 图3 就可以用直接用self_code关联B表从而得到a_tag的值,如图4中所示,思路清晰、操作简单粗暴。 图4 两种列转行的姿势 所以核心的问题来了,应该怎么操作把A表转成图3中的样子,这种操作其实就是列转行,解释一下,就是把一行数据的某列(一般是数组)或者几列展开,并选
………………………………