【问题标题】:PySpark rdd of pandas data frames熊猫数据帧的 PySpark rdd
【发布时间】:2020-06-29 11:55:18
【问题描述】:

我正在提取不同源文件的信息。每个源文件对应于一些测量数据的给定快照时间。我有一个预处理函数,它采用其中一个文件并输出一个熊猫数据框。所以我做了一个 sparksc.wholeTextFiles 调用,它给了我所有输入文件的列表,然后我在上面调用了map,它为我提供了一个 rdd,其中每个元素都是一个 pandas 数据框。现在“重塑”这种结构的最佳方法是什么,以便我只有一个由连接的较小数据帧组成的结果数据帧?

【问题讨论】:

    标签: apache-spark pyspark


    【解决方案1】:

    您可以创建火花数据框。假设这些文件位于一个位置并被定界,您可以使用 spark 创建一个包含所有文件数据的新数据框。

    spark.read.option("header", "true").csv("../location/*")
    

    之后,您可以使用 spark 中可用的大量转换。它们与 pandas 非常相似,并且可以处理大数据,甚至比 RDD 更快。

    【讨论】:

    • 谢谢。问题是,必须先处理非 CSV 格式的文件才能获得 CSVish 格式。
    • 你能发布这些文件的样本吗?这将有助于重现问题。
    • 因此文件包含一些非常具体的非表格数据,在继续之前必须对其进行处理。出于这个原因,我手动编写了一个解析器,它为给定的输入文件返回一个数据框。
    • 如果解析后有不同的数据帧。您可以遍历每个数据帧并将每个 df 联合到新的 spark df。前提是它们具有相同的列。
    • 好的,但这必须发生在主人身上,对吧?在工人身上联合多个数据框没有解决方案。
    猜你喜欢
    • 2015-11-12
    • 1970-01-01
    • 2017-01-25
    • 1970-01-01
    • 2020-05-12
    • 1970-01-01
    • 1970-01-01
    • 2016-09-15
    • 2014-01-04
    相关资源
    最近更新 更多