63
2
장
스칼라와 스파크를 활용한 데이터 분석
import org.apache.spark.sql.DataFrame
import org.apache.spark.sql.functions.first
def pivotSummary(desc: DataFrame): DataFrame = {
val schema = desc.schema
import desc.sparkSession.implicits._
val lf = desc.flatMap(row => {
val metric = row.getString(0)
(1 until row.size).map(i => {
(metric, schema(i).name, row.getString(i).toDouble)
})
}).toDF("metric", "field", "value")
lf.groupBy("field").
pivot("metric", Seq("count", "mean", "stddev", "min", "max")).
agg(first("value"))
}
이후 스파크 셸에 :
load
Pivot
.
scala
를 입력하면 스칼라
REPL
이 이 코드를 즉시 컴파일하여
matchSummary
와
missSummary
데이터프레임에
pivotSummary
함수를 사용할 수 있다.
val matchSummaryT = pivotSummary(matchSummary)
val missSummaryT = pivotSummary(missSummary)
2.11
데이터프레임을 결합하고 특징 선택하기
앞에서는 ...