【问题标题】:How to insert the rdd data into a dataframe in pyspark?如何将rdd数据插入pyspark中的数据框?
【发布时间】:2016-11-12 11:51:01
【问题描述】:

请在下面找到伪代码:

包含 5 列的源数据框

使用架构(6 列)创建目标数据框

对于 source_dataframe 中的项目: #向列表中添加一列购买检查item.coulmn2 列表 = [item.column1,item.column2,newcolumn] #从这个列表中创建一个rdd #现在我需要将此 rdd 添加到目标数据框?????

【问题讨论】:

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


    【解决方案1】:

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

    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。之后我加入了两个数据框,它复制了一些列。所以最后我删除了那些重复的列。

    【讨论】:

    • 谢谢!!!我的情况有点复杂,但这解决了这个问题。现在,我将更详细地提出这个问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-08
    • 2021-12-10
    • 1970-01-01
    • 2018-02-03
    • 2020-09-29
    相关资源
    最近更新 更多