如何将rdd数据插入pyspark中的数据框?

时间:2016-07-10 11:53:58

标签: apache-spark pyspark apache-spark-sql spark-dataframe

请在下面找到psuedocode:

源数据框,包含5列

使用架构(6列)

创建目标数据帧

对于source_dataframe中的项目:     #adding list to the list buy checking item.coulmn2     list = [item.column1,item.column2,newcolumn]     #creating a rdd from this list     #now我需要将此rdd添加到目标数据框?????

1 个答案:

答案 0 :(得分:0)

您可以更详细地解释您的问题或提供一些示例代码。我很感兴其他人如何解决这个问题。我建议的解决方案就是这个:

df = (
    sc.parallelize([
        (134, "2016-07-02 12:01:40"), 
        (134, "2016-07-02 12:21:23"),
        (125, "2016-07-02 13:22:56"), 
        (125, "2016-07-02 13:27:07")
        ]).toDF(["itemid", "timestamp"])
)

rdd = df.map(lambda x: (x[0], x[1], 10))
df2 = rdd.toDF(["itemid", "timestamp", "newCol"])

df3 = df.join(df2, df.itemid == df2.itemid and df.timestamp == df2.timestamp, "inner").drop(df2.itemid).drop(df2.timestamp)

我正在将RDD转换为Dataframe。之后我加入了两个Dataframes,它复制了一些列。最后,我删除了那些重复的列。