【问题标题】:SparkR lapply not workingSparkR lapply 不工作
【发布时间】:2016-06-24 11:38:25
【问题描述】:

我正在尝试使用 SparkR 在 DataFrame 上的列上运行一个简单的 lapply,它给了我一个错误。我的代码如下:

ff <- sql(sqlContext, "SELECT `device`.`browser`.`cookie` FROM transactionsTbl")
showDF(ff)

输出是:

+--------------------+
|          cookie-_cc|
+--------------------+
|ZWYyNDc5NmMtZjBjN...|
|ZTU4YjhmNTYtYjI3Z...|
|YjQwNDRlNjMtNTZjZ...|
|NzNlMDFkMTQtZTBjY...|
|MjQ2NTg1ZmYtNzFiN...|
|ZWIyMzY2NGUtMmI3M...|

现在当我尝试运行简单的 lapply 时:

ffl <- lapply(ff$'cookie',length)

我收到以下错误:

Error in as.list.default(X) : 
  no method for coercing this S4 class to a vector

我想将数据结构保留为 DataFrame 而不是 data.frame,这样我就不会失去 Spark 的优势。请帮忙!!提前致谢。

【问题讨论】:

    标签: r apache-spark dataframe apache-spark-sql sparkr


    【解决方案1】:

    SparkR DataFrames 与标准 R API 不兼容。要访问和转换这些,您应该使用 SparkR DSL 或 SQL 表达式。要查找字符串的长度,您可以使用length 函数

    df <- createDataFrame(sqlContext, iris)
    select(df, length(df$Species))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-15
      • 1970-01-01
      • 1970-01-01
      • 2015-08-02
      • 2018-10-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多