【问题标题】:SparkR : Error in unique.default(x, nmax = nmax) :unique() applies only to vectorsSparkR:unique.default(x, nmax = nmax) 中的错误:unique() 仅适用于向量
【发布时间】:2015-08-14 05:02:24
【问题描述】:

我有错误:

[1] "testtt"
Error in unique.default(x, nmax = nmax) : 
  unique() applies only to vectors
Calls: as.factor -> factor -> unique -> unique.default
Execution halted


library(SparkR)

这是我的 R 代码:

sc <- sparkR.init(appName="SparkR-W1-example")
sqlContext <- sparkRSQL.init(sc)

babiesOR <- read.df(sqlContext, "/root/Desktop/babies.csv", "com.databricks.spark.csv", header="true")
print('testtt')


localDf <- collect(babiesOR)
babies <- createDataFrame(sqlContext, localDf)

babies$bwt2 = as.factor( babies$bwt2 )  
class(babies)

我该如何解决这个问题?

【问题讨论】:

    标签: r sparkr


    【解决方案1】:

    您的代码有两个问题:首先 factor 不是 SparkR 类型,您仅限于字符串,其次 as.type 不适用于 DataFrame 列,您应该使用以下转换代码

    babies$bwt2 <- cast(babies$bwt2,'string')
    

    【讨论】:

    • 我以为我可以使用R代码,但似乎我必须学习sparkR方法。我在哪里可以找到一些教程?能告诉我吗,谢谢。
    • 你可以使用一些R代码,不是全部,可能会提供更多。 SparkR 1.4.1 的完整文档在这里:spark.apache.org/docs/latest/api/R/index.html。我还不知道好的教程。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-12
    相关资源
    最近更新 更多