如何将Spark R数据帧转换为R列表

时间:2016-04-21 03:39:07

标签: r csv dataframe rstudio sparkr

这是我第一次尝试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

3 个答案:

答案 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)