【问题标题】:How do I convert Dataframe to RDD in pyspark? [duplicate]如何在 pyspark 中将 Dataframe 转换为 RDD? [复制]
【发布时间】:2018-04-28 02:24:31
【问题描述】:

我需要将数据帧转换为 RDD,并需要对其应用一些核心操作。 试过下面的东西。它正在转换为列表、行或元组格式。但某些核心功能或不适用于 .split() 之类的功能。

尝试了以下方法:

df.rdd.map(list)

df.rdd.map(tuple)

df.rdd

我正在尝试的示例代码

rdd=load_df.rdd.map(list)
conv_rdd= rdd.map(lambda x:x.split(","))

需要从这里开始执行一些操作

【问题讨论】:

    标签: python apache-spark dataframe pyspark


    【解决方案1】:

    数据框是Row 对象的数据集。当您运行df.rdd 时,返回值的类型为RDD<Row>

    现在,Row 没有 .split 方法。您可能想在行的字段上运行它。所以你需要打电话

    df.rdd.map(lambda x:x.stringFieldName.split(","))
    

    拆分必须在行的值上运行,而不是Row 对象本身。

    【讨论】:

    • stringFieldName 是什么,你能解释一下.. 是列名吗?
    • @LUZO 是的,就是列名。
    • 实时我有 1000 + 列...我如何处理这些?有时我也需要删除标题..有没有任何方法可以将我的 df 转换为 rdd 本身?
    • 要将 DF 转换为 RDD?您要包括哪些字段?你能分享数据框的架构吗?另外,您是否想要字符串的普通 RDD,就像您运行 sc.textFile 一样?
    • 是的,我希望它作为纯 RDD 字符串...就像 sc.textFile。数据框的示例模式是 [col1:int, col2:string, col3:float, col4: date....so on ]
    猜你喜欢
    • 1970-01-01
    • 2021-06-29
    • 2018-09-14
    • 2016-05-29
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 2018-02-02
    • 2017-11-02
    相关资源
    最近更新 更多