1. 程式人生 > >Hive裡實現行資料的拆分、一行轉多行、行轉列、explode使用

Hive裡實現行資料的拆分、一行轉多行、行轉列、explode使用

    在做資料轉換、清洗的過程中,經常會對行進行拆分、一行資料拆分為多行資料,下面是簡單的例子:

    如圖表裡有如下資料:

最終要得到結果如下:

先用split進行分割得到一個數組,在用explode拆分陣列。

LATERAL VIEW explode(split(b,',')) zqm AS num:解釋 zqm:指代虛表檢視的名稱(不可缺少),num:處理後資料的名稱。

對比兩個Hsql,使用LATERAL VIEW的目的是為了帶出表裡其他欄位

更多情況是explode、split、concat_ws、collect_set會混合使用。