1. 程式人生 > >spark dataframe 將一列展開,該列所有值都變成新列

spark dataframe 將一列展開,該列所有值都變成新列

The original dataframe

這裡寫圖片描述

需求:hour代表一天的24小時,現在要將hour列展開,每一個小時都作為一個列

實現:

val pivots = beijingGeoHourPopAfterDrop.groupBy("geoHash").pivot("hour").sum("countGeoPerHour").na.fill(0)

並且統計了對應的countGeoPerHour的和,如果有些行沒有這個新列對應的資料,將用null填充

The new dataframe

這裡寫圖片描述