【问题标题】:pyspark the method toPandas internalpyspark toPandas内部的方法
【发布时间】:2021-02-13 13:49:49
【问题描述】:

pyspark topandas 如何在内部工作。我知道 Spark DataFrame 可以使用 topandas 方法作为 spark_df.toPandas 转换为 Pandas DataFrame。

触发方法topandas后,是拉取所有数据到驱动程序并转换为pandas数据帧还是在worker中进行转换,pandas数据帧将在本地创建到worker节点?

【问题讨论】:

    标签: python pandas apache-spark pyspark


    【解决方案1】:

    Pandas 数据帧未分发。 toPandas() 将导致数据帧行被收集到驱动程序,然后转换为一个 Pandas 数据帧,如the docs 所述:

    toPandas()
    收集所有行并返回 pandas.DataFrame。

    因此,关于将数据收集到单个节点(在本例中为驱动程序)的所有警告也适用于 toPandas

    【讨论】:

    • 请记住,根据数据集的大小可能会溢出驱动程序的内存,因为正如@ernest_k 所提到的,所有数据都发送到驱动程序,然后创建pandas dataframe
    猜你喜欢
    • 2021-08-08
    • 2021-05-07
    • 2018-05-12
    • 2021-05-25
    • 1970-01-01
    • 2021-01-30
    • 1970-01-01
    • 2019-02-11
    相关资源
    最近更新 更多