DataFrame转换为RDD
时间: 2023-08-04 16:36:16 浏览: 79
spark: RDD与DataFrame之间的相互转换方法
要将DataFrame转换为RDD,你可以使用Spark SQL中的`rdd()`函数。以下是一个示例代码:
```python
# 导入需要的包
from pyspark.sql import SparkSession
# 创建SparkSession
spark = SparkSession.builder.appName("DataFrameToRDD").getOrCreate()
# 创建一个DataFrame
df = spark.createDataFrame([(1, "A"), (2, "B"), (3, "C")], ["a", "b"])
# 将DataFrame转换为RDD
rdd = df.rdd
# 打印RDD中的元素
for row in rdd.collect():
print(row)
```
在这个例子中,我们首先创建了一个SparkSession,然后使用`createDataFrame()`函数创建了一个DataFrame `df`。接下来,我们使用`rdd()`函数将DataFrame转换为RDD,并将其保存到变量`rdd`中。最后,我们使用`collect()`函数将RDD中的所有元素收集到本地,并打印它们。
这个代码将打印出:
```
Row(a=1, b='A')
Row(a=2, b='B')
Row(a=3, b='C')
```
这说明我们已经成功地将DataFrame转换为RDD。注意,转换后的RDD中的每个元素都是一个`Row`对象,你可以使用`row.a`和`row.b`来访问它们的属性。
阅读全文