如何計算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)
?
感謝
沒有任何回答幫助你的?如果是,請接受它 –