这是我第一次尝试Spark R在Databricks Cloud Community Edition上做与RStudio相同的工作。但遇到了一些奇怪的问题。
似乎Spark R支持像ggplot2,plyr这样的软件包,但数据必须采用R列表格式。当我使用train <- read.csv("R_basics_train.csv")
时,我可以在R Studio中生成此类型的列表,变量train
当您使用typeof(train)
时,这里是一个列表。
然而,在Spark R中,当我读取与“train”相同的csv数据时,它将被转换为数据帧,这不是我们之前使用过的Spark Python DataFrame,因为我无法使用{{1}函数将其转换为列表....当您使用collect()
时,它显示类型为typeof(train)
,但实际上类型是数据帧....
那么,在Spark R中我是否可以将数据帧转换为R列表以便我可以使用ggplot2中的方法,plyr?
您可以在此处找到原始.csv培训数据: train
答案 0 :(得分:1)
后来我发现使用r_df <- collect(spark_df)
将Spark DataFrame转换为R数据帧,虽然不能在其数据帧上使用R summary(),使用R dataframe,我们可以做很多R操作。
答案 1 :(得分:1)
不确定您是否将此称为sparkR的缺点,但为了利用R提供的许多优秀功能,例如数据探索,ggplot库,您需要通过调用将pyspark数据帧转换为普通数据帧收集
df <- collect(df)
答案 2 :(得分:0)
好像他们更改了SparkR,所以您现在需要使用
r_df<-as.data.frame(spark_df)