Уважаемые, я новичок в SparK Scala, и у меня есть DF из двух столбцов: «UG» и «Counts», и я хотел бы, чтобы третий способ был представлен в этом списке.
DF: UG, Counts, CUG (столбцы)
- of 12 4
- of 23 4
- 134 3
- любовь 68 2
- боль 3 1
- 18 3
- люблю 100 2
- of 23 4
- 12 3
- of 11 4
Мне нужно добавить новый столбец с именем «CUG», третий открытый столбец, где CUG (i) — это количество раз, когда строка (i) в UG появляется во всем столбце.
Пробовал по следующей схеме:
Имея DF как предыдущую таблицу в df. Я выполнил функцию sql UDF, чтобы подсчитать, сколько раз строка появляется в столбце «UG», то есть:
val NW1 = (w1:String) => {
df.filter($"UG".like(w1.substring(1,(w1.length-1))).count()
}:Long
val sqlfunc = udf(NW1)
val df2= df.withColumn("CUG",sqlfunc(col("UG")))
Но когда я попытался, ...это не сработало. Я получил ошибку исключения Null Point. Схема UDF работала изолированно, но не в DF. Что я могу сделать, чтобы получить требуемые результаты с помощью DF.
Заранее спасибо. jm3