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|
+---+----+
我发现了一些关于将 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|
+---+----+