【问题标题】:PySpark toPandas faster alternativePySpark toPandas 更快的替代方案
【发布时间】:2021-08-08 04:20:50
【问题描述】:

是否有更快的替代方法将 PySpark 数据帧转换为 pandas 数据帧?我确实将“spark.sql.execution.arrow.enabled”设置为“true”,但转换数据帧仍需要数小时。我也尝试过从 spark 写入 parquet,然后使用箭头将其读回,但写入也需要数小时。

奖金,有什么方法可以让 spark 过程快速失败?有时,在上述情况下,我会在几个小时后发现转换花费这么长时间的原因是因为架构数据类型映射错误,如果我不能等待几个小时才能得到那个失败。

【问题讨论】:

    标签: pandas apache-spark pyspark pyarrow


    【解决方案1】:

    在尝试将数据库从 spark 转换为 pandas 之前,您应该先问几个问题

    -为什么?是特定需求吗?例如训练模型,还是进行分析?
    - 数据框的大小是多少? (超过 200 万行或类似的东西?)

    因为根据您的数据框的规模,它甚至不可行或不可能转换为熊猫。所以我高度建议您直接使用 spark(spark 的 mllib 中有很多可用的模型),或者如果使用 pandas 是 必须 然后过滤您的数据库,使用更小的数据。

    另外,这里有一个链接可能有助于澄清为什么根据数据框的大小转换为 pandas 不是一个好主意,但这很大程度上是因为 spark 懒惰,这是为什么可以处理大数据,pandas 无法将所有内容都保存在内存中:
    https://www.geeksforgeeks.org/difference-between-spark-dataframe-and-pandas-dataframe/#:~:text=Complex%20operations%20are%20easier%20to,a%20large%20amount%20of%20data.

    【讨论】:

      猜你喜欢
      • 2018-12-11
      • 2012-07-05
      • 2012-01-23
      • 2013-07-13
      • 2011-02-27
      • 2010-09-22
      • 2017-05-15
      • 1970-01-01
      相关资源
      最近更新 更多