-
groupBy 후 collect_list 에 여러개의 column 값을 담기spark 2024. 11. 19. 20:46
collect_list(struct(???)) 를 사용한다.
import spark.implicits._ case class BaseMetric( id: String, log_type: String, device_type: String, clk_count: Long, imp_count: Long ) case class BaseMetricGroup( id: String, metrics: Seq[BaseMetric] ) val metricDs: Dataset[BaseMetric] = ??? metricDs .groupBy("id") .agg( collect_list( struct(BaseMetric.fields.map(col): _*) ).as("metrics") ) .as[BaseMetricGroup]
'spark' 카테고리의 다른 글
groupBy 후 group 당 N 개의 record 만 남기기 (0) 2025.01.06 Dataset.groupByKey + reduceGroups (0) 2025.01.06 DataFrame 에 신규 칼럼 추가하기 (0) 2024.07.19 write partitionBy (0) 2023.02.26 Spark Dataset joinWith bug? (0) 2022.02.26