【发布时间】:2016-09-03 08:30:16
【问题描述】:
亲爱的, 我是 Spark Scala 的新手,而且, 我有两列的 DF:“UG”和“Counts”,我想获得第三 在这个列表中是如何暴露的。
DF:UG、计数、CUG(列)
- 共 12 4 个
- 的 23 4
- 134 3
- 爱68 2
- 疼痛 3 1
- 18 3
- 爱100 2
- 23 4
- 12 3
- 11 4
我需要添加一个名为“CUG”的新列,第三个暴露出来,其中CUG(i)是UG中的string(i)在整个Column中出现的次数。
我尝试了以下方案:
像 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")))
但是当我尝试时,......它没有工作。我得到一个空点异常的错误。 UDF 方案是独立工作的,但在 DF 中不是。 我可以做些什么来使用 DF 获得询问的结果。
提前致谢。 jm3
【问题讨论】:
标签: scala apache-spark dataframe calculated-columns udf