【发布时间】:2021-03-10 16:50:07
【问题描述】:
I have a function that adds 2 columns:
def sum_num (num1: Int, num2: Int): Int = {
return num1 + num2
}
我有一个具有以下值的数据框 df
+----+----+----+
|col1|col2|col3|
+----+----+----+
|1 |2 |5 |
|7 |4 |4 |
+----+----+----+
我想添加一列并将列名传递给函数,但下面的代码不起作用。它给出了错误发现所需的列是 Int
val newdf = df.withColumn("sum_of_cols1", sum_num($col1, $ col2))
.withColumn("sum_of_cols2", sum_num($col1, $ col3))
【问题讨论】:
-
this 有帮助吗?
-
@GuruStron 我见过这个,但不确定如何使用多列创建 udf。我还读到 udf 可能会对性能产生一些影响,因为我正在对十亿条记录进行计算,试图找到其他解决方案!
标签: scala apache-spark databricks