我正在尝试使用this方法使用SparkR在数据框中爆炸字段。 我的代码是:
Sys.setenv(SPARK_HOME="/usr/hdp/2.6.0.3-8/spark")
.libPaths(c(file.path(Sys.getenv("SPARK_HOME"), "R", "lib"), .libPaths()))
library(SparkR)
sc <- sparkR.init(master="local")
hc <- sparkRHive.init(sc)
df <- sql(hc, "SELECT * FROM tweetsorc5")
library(tidyverse)
dat <- df %>% mutate(a=explode(df$user)) %>% select("created_at", "a.utc_offset")
但我得到错误:
Error in UseMethod("mutate_") :
no applicable method for 'mutate_' applied to an object of class "DataFrame"
我找不到任何帮助。
答案 0 :(得分:3)
这是不可能的。 SparkDataFrame
未实现与data.frame
相同的界面。
如果你想在Spark中使用dplyr
,你应该使用sparklyr
,而不是SparkR。
使用SparkR使用SparkR::withColumn
:
withColumn(df, "a", explode(df$user))