我知道要将用户定义的函数应用于SparkR数据帧,可以使用dapply / gapply。我想知道将SparkR数据帧直接传递给UDF是一种好习惯吗?例如,首先创建一个数据帧
df <- createDataFrame(mtcars)
然后将数据帧传递给UDF进行一些转换
myFunction <- function(df) {
return( df$mpg * 2)
}
df$new_col <- myFunction(df)
我尝试了上面的代码并且有效。但我不确定这是否是推荐的。
如果传递数据帧是正常的,另外,我可以将列作为参数传入吗? e.g。
myFunction <- function(colName) {
return( colName * 2 )
}
df$new_col <- myFunction(df$mpg)
谢谢。