将列添加到 sparkR 中的 DataFrame

Add column to DataFrame in sparkR

我想在 SparkR 的 DataFrame 中添加一个用字符 N 填充的列。我会像使用非 SparkR 代码那样做:

df$new_column <- "N"

但是使用 SparkR,我收到以下错误:

Error: class(value) == "Column" || is.null(value) is not TRUE

我已经尝试过疯狂的事情来管理它,我能够使用另一个(现有的)df <- withColumn(df, "new_column", df$existing_column) 创建一个列,但是这个简单的事情,不...

有什么帮助吗?

谢谢。

直接的解决方案是使用 SparkR::lit() 函数:

df_new = withColumn(df, "new_column_name", lit("N"))

编辑 2019 年 7 月 17 日

在较新的 Spark 版本中,以下内容也适用:

df1$new_column <- "N"
df1[["new_column"]] <- "N"

有一种更简单的方法可以使用 SparkR::lit(),它更接近于您首先尝试的语法:

df$new_column <- lit("N")