稍微复杂一点的spark字数

t9eec4r0  于 2021-05-17  发布在  Spark
关注(0)|答案(1)|浏览(400)

我有一个文件位置的大列表。我想从这些位置读取Parquet地板,按列分组,进行计数,并按键减少。

var commaDelim = spark.sparkContext.textFile("s3://some_location")
var locs = commDelim.flatmap(l => l.split(","))
locs.map(loc => spark.read.parquet(loc).groupBy("col").count ...

不知道如何将count dataframe转换成一种可以按键减少的格式。

kxeu7u2r

kxeu7u2r1#

将列表文件直接传递给 parquet 功能如下

val locs = [file1,file2,file3,...]
spark.read.parquet(locs:_*)
.select("col")
.as[String]
.flatMap(value => value.split("\\s+"))
.groupBy($"value")
.agg(count("*").as("count"))
.show(false)

相关问题