如何计算df
列中使用Spark分区的字符串出现次数id
?Scala Spark - 计算Dataframe列中特定字符串的出现
例如在列查找值"test"
的df
在SQL "name"
是:
def getCount(df: DataFrame): DataFrame = {
val dfCnt = df.agg(
.withColumn("cnt_test",
count(col("name")==lit('test'))
)
这是一个:
SELECT
SUM(CASE WHEN name = 'test' THEN 1 else 0 END) over window AS cnt_test
FROM
mytable
WINDOW window AS (PARTITION BY id)
我使用map(v => match { case "test" -> 1.. })
之类的东西尝试昂贵的操作?检查特定字符串出现的最佳方法是什么?然后执行一个操作(sum, max, min, etc)
?
感谢
没有任何回答帮助你的?如果是,请接受它 –