df
.select($"burk", $"year", explode(columnMap) as Array("month","pic"))//列转行
select burk,year,month,pic from burk LATERAL VIEW explode(map('01',tsl01,'02',tsl02,'03',tsl03,'04',tsl04,'05',tsl05,'06',tsl06,'07',tsl07,'08',tsl08,'09',tsl09,'10',tsl10,'11',tsl11,'12',tsl12)) t asmonth,pic
行转列的方法,Pivot方法
stu
.groupBy($"name").pivot($"cou", List("数学","英语"))