您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Spark RDD到DataFrame python

Spark RDD到DataFrame python

看到,

在Spark中有两种将RDD转换为DF的方法

toDF()createDataFrame(rdd, schema)

我将向您展示如何动态地做到这一点。

toDF()命令为您提供了将转换RDD[Row]为数据框的方法。关键是,对象Row()可以接收**kwargs参数。因此,有一种简单的方法可以做到这一点。

from pyspark.sql.types import Row

#here you are going to create a function
def f(x):
    d = {}
    for i in range(len(x)):
        d[str(i)] = x[i]
    return d

#Now populate that
df = rdd.map(lambda x: Row(**f(x))).toDF()

这样,您将能够动态创建数据框。

完成此操作的另一种方法是创建动态模式。怎么样?

这条路:

from pyspark.sql.types import StructType
from pyspark.sql.types import StructField
from pyspark.sql.types import StringType

schema = StructType([StructField(str(i), StringType(), True) for i in range(32)])

df = sqlContext.createDataFrame(rdd, schema)

第二种方法更清洁…

这样便可以动态创建数据框。

python 2022/1/1 18:31:40 有213人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶