Hive里实现行数据的拆分、一行转多行、行转列、explode使用

    在做数据转换、清洗的过程中,经常会对行进行拆分、一行数据拆分为多行数据,下面是简单的例子:

    如图表里有如下数据:

最终要得到结果如下:

先用split进行分割得到一个数组,在用explode拆分数组。

LATERAL VIEW explode(split(b,',')) zqm AS num:解释 zqm:指代虚表视图的名称(不可缺少),num:处理后数据的名称。

对比两个Hsql,使用LATERAL VIEW的目的是为了带出表里其他字段

更多情况是explode、split、concat_ws、collect_set会混合使用。


猜你喜欢

转载自blog.csdn.net/IBoyMan/article/details/80564166