如何将 Spark R 数据帧转换为 R 列表
How to convert Spark R dataframe into R list
这是我第一次尝试 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数据时,它会被转换成dataframe,这不是我们之前使用的Spark Python DataFrame,因为我不能使用 collect()
函数将其转换为列表.... 当您使用 typeof(train)
时,它显示类型是 "S4"
,但实际上类型是数据帧....
那么,在 Spark R 中,我是否可以将数据帧转换为 R 列表,以便我可以使用 ggplot2、plyr 中的方法?
您可以在此处找到原始的 .csv 训练数据:
train
后来我发现使用r_df <- collect(spark_df)
会将Spark DataFrame转换成R dataframe,虽然不能在它的dataframe上使用R summary(),但是有了R dataframe,我们可以做很多R操作。
不确定您是否将此称为 sparkR 的缺点,但为了利用 R 必须提供的许多良好功能,例如数据探索、ggplot 库,您需要将 pyspark 数据框转换为普通数据框通过调用 collect
df <- collect(df)
看起来他们更改了 SparkR,因此您现在需要使用
r_df<-as.data.frame(spark_df)
这是我第一次尝试 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数据时,它会被转换成dataframe,这不是我们之前使用的Spark Python DataFrame,因为我不能使用 collect()
函数将其转换为列表.... 当您使用 typeof(train)
时,它显示类型是 "S4"
,但实际上类型是数据帧....
那么,在 Spark R 中,我是否可以将数据帧转换为 R 列表,以便我可以使用 ggplot2、plyr 中的方法?
您可以在此处找到原始的 .csv 训练数据: train
后来我发现使用r_df <- collect(spark_df)
会将Spark DataFrame转换成R dataframe,虽然不能在它的dataframe上使用R summary(),但是有了R dataframe,我们可以做很多R操作。
不确定您是否将此称为 sparkR 的缺点,但为了利用 R 必须提供的许多良好功能,例如数据探索、ggplot 库,您需要将 pyspark 数据框转换为普通数据框通过调用 collect
df <- collect(df)
看起来他们更改了 SparkR,因此您现在需要使用
r_df<-as.data.frame(spark_df)