[Spark] DataFrame 그룹별 topN 예제, 여러 파일 읽기
DataFrame 을 이용하여 각 그룹별 topN 뽑기
import org.apache.spark.sql.expressions.Window
import org.apache.spark.sql.functions.{rank, desc}
...
val dataSetWindow = Window.partitionBy("group_id", "subgroup_id").orderBy(desc("count"))
val rankLimit: Int = 100
val groupedDataFrame = myDataFrame.groupBy("group_id", "subgroup_id", "mydata")
val myDataSet = groupedDataFrame.count.withColumn("rank", rank.over(dataSetWindow)).where($"rank" <= rankLimit)
myDataSet.show(1000) // action
여러 파일에서 DataFrame 으로 읽기
val testDF = sparkSession.read.format("com.databricks.spark.csv")
.option("delimiter","\t").schema(testSchema)
.load("hdfs://localhost:9000/user/root/DataBase/test/{test1.log,test2.log}");
Author And Source
이 문제에 관하여([Spark] DataFrame 그룹별 topN 예제, 여러 파일 읽기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@anjinwoong/Spark-dd저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)