如何在NA
SparkR
中添加满DataFrame
的列?这不起作用。
> df <- data.frame(cola = 1:4)
> sprkrDF <- createDataFrame(sqlContext, df)
> sprkrDF$colb <- NA
Error: class(value) == "Column" || is.null(value) is not TRUE
由于
注意:我想将其直接添加到SparkR
DataFrame
,因此这不是我正在寻找的解决方案:
> df <- data.frame(cola = 1:4, colb = NA)
> sprkrDF <- createDataFrame(sqlContext, df)
答案 0 :(得分:2)
我们可以使用lit()
创建一个新列,并用NA
填充它。
sprkrDF <- withColumn(sprkrDF, "colb", lit(NULL))
答案 1 :(得分:0)
同意@mtoto的回答是您提出的具体问题的正确答案。另一种方法是在创建Spark DataFrame之前填充R data.frame中的NA值。在(a)您不需要分布式处理能力和(b)您希望索引数据中的特定行时,在基础R中工作可以使某些任务更容易。
df <- data.frame(cola = 1:4)
df$colb <- NA
sprkrDF <- createDataFrame(sqlContext, df)
很高兴看到其他人已经学会清楚地为R和Spark数据帧名称添加前缀! ...我总是使用rdf作为“R data.frame”,使用sdf作为“Spark DataFrame”以使我的代码更具可读性: - )