在 spark.SQL DataFrame 和 pandas DataFrame 之间转换 [重复]
Posted
技术标签:
【中文标题】在 spark.SQL DataFrame 和 pandas DataFrame 之间转换 [重复]【英文标题】:Convert between spark.SQL DataFrame and pandas DataFrame [duplicate] 【发布时间】:2017-06-09 03:43:48 【问题描述】:可以吗
转换自 到 pd.DataFrame
在%pyspark环境下?
【问题讨论】:
【参考方案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 那样分布,并且仅使用驱动程序节点的内存,而不是所有其他可用节点。以上是关于在 spark.SQL DataFrame 和 pandas DataFrame 之间转换 [重复]的主要内容,如果未能解决你的问题,请参考以下文章