【发布时间】:2026-01-28 00:55:01
【问题描述】:
我有两个逗号分隔的字符串列(sourceAuthors 和 targetAuthors)。
val df = Seq(
("Author1,Author2,Author3","Author2,Author3,Author1")
).toDF("source","target")
我想添加另一列nCommonAuthors,其中包含共同作者的数量。
我尝试过这样做:
def myUDF = udf { (s1: String, s2: String) =>
s1.split(",")
s2.split(",")
s1.intersect(s2).length
}
val newDF = myDF.withColumn("nCommonAuthors", myUDF($"source", $"target"))
我收到以下错误:
线程“main”java.lang.UnsupportedOperationException 中的异常:不支持 Unit 类型的架构
知道为什么会出现此错误吗?如何找到两列的共同元素?
【问题讨论】:
标签: scala apache-spark apache-spark-sql