【问题标题】:Convert between spark.SQL DataFrame and pandas DataFrame [duplicate]在 spark.SQL DataFrame 和 pandas DataFrame 之间转换 [重复]
【发布时间】:2017-06-09 03:43:48
【问题描述】:

可以吗

转换自 到 pd.DataFrame

在%pyspark环境下?

【问题讨论】:

    标签: apache-spark apache-spark-sql apache-zeppelin


    【解决方案1】:

    试试:

    spark_df.toPandas()
    

    toPandas()

    Returns the contents of this DataFrame as Pandas pandas.DataFrame.
    
    This is only available if Pandas is installed and available.
    

    如果你想要相反的:

    spark_df = createDataFrame(pandas_df)
    

    【讨论】:

    • 如果 pandas 数据框非常大,这将不起作用。
    • 错误是什么?
    • java heap out of memory 错误。
    • 驱动的堆可能对于DataFrame的大小来说太小了,不允许存储在JVM内存中尝试改变驱动内存大小。
    • 还要记住,Spark Dataframe 使用 RDD,它基本上是一个分布在所有节点上的分布式数据集。因此,可以毫无问题地处理大数据。但是,当您将此大数据集转换为 Pandas 数据帧时,它很可能会耗尽内存,因为 Pandas 数据帧不像 spark 那样分布,并且仅使用驱动程序节点的内存,而不是所有其他可用节点。
    猜你喜欢
    • 2021-03-30
    • 2022-01-22
    • 2017-03-17
    • 2017-03-23
    • 2021-12-01
    • 2019-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多