Databricks:如何将 %r 下的 Spark 数据帧转换为 %python 下的数据帧

Databricks: how to convert Spark dataframe under %r to dataframe under %python

我发现了一些关于将 pyspark 数据帧转换为 R 的技巧,但我需要执行相反的任务:将 R 数据帧转换为 pyspark

有人知道怎么做吗?

您可以使用与其他语言相同的方法 - 使用 createOrReplaceTempView 函数注册您的数据框,然后使用另一种语言的 spark.sql 来访问其内容。

例如。如果R端如下:

%r
library(SparkR)
id <- c(rep(1, 3), rep(2, 3), 3)
desc <- c('New', 'New', 'Good', 'New', 'Good', 'Good', 'New')
df <- data.frame(id, desc)
df <- createDataFrame(df)
createOrReplaceTempView(df, "test_df")
head(df)

  id desc
1  1  New
2  1  New
3  1 Good
4  2  New
5  2 Good
6  2 Good

然后您可以从 Python:

访问这些数据
df = spark.sql("select * from test_df")
df.show()

+---+----+
| id|desc|
+---+----+
|1.0| New|
|1.0| New|
|1.0|Good|
|2.0| New|
|2.0|Good|
|2.0|Good|
|3.0| New|
+---+----+