딥상어동의 딥한 프로그래밍/Spark2021. 2. 6. 10:02[scalaSpark] pivot과 unpivot

초록 1. pivot 2. unpivot pivot val pv_dataframe = df_dataframe .groupBy("col0") .pivot("col1") .agg(countDistinct("col2").as("colname")) groupBy와 pivot에 컬럼을 여러개 넣을 수 있다. agg에도 마찬가지 unpivot val unpv_dataframe = df_dataframe .selectExpr("group", "stack(2, 'col1', col1, 'col2', col2)") 여기서 중요한 것은 stack에 "1. 들어갈 열의 숫자를 정한다"와 col1과 col2 stack시길 열을 'col1', col1 이렇게 각각 두번씩 적어줘야 한다는 것이다. 이외에 where로 조건을 붙이..

image