如何在不使用toPandas方法的情况下将Pandas数据帧API与Spark数据帧一起使用?

时间:2017-11-09 12:20:12

标签: pandas apache-spark dataframe pyspark spark-dataframe

我希望将Pandas库API(绘图,索引)与Spark数据帧一起使用。 在Pyspark中,df.toPandas(),其中df是Spark SQL数据帧,此方法将将整个Spark数据帧拉入本地内存,从而破坏了Spark的分布式计算框架的目的。因此toPandas()方法效率低下。

我查看了其他python库,如 SparklingPandas Blaze ,它们尝试将Pandas与Spark数据帧集成,同时保持数据的分布。但它们与Spark2.x不兼容,或者它们没有适当的文档,或者它们没有贡献或最新版本。

我非常想与Spark合作,但我也想使用Pandas Dataframes API。 Spark数据帧(Spark 2.2)没有足够的Pandas功能。

1 个答案:

答案 0 :(得分:2)

  

Spark数据帧(Spark 2.2)没有足够的Pandas功能。

他们没有足够的功能,因为扩展需要进行严格的权衡。许多功能(比如绘制或索引你喜欢的功能)都没有多大意义,或者会因内存和分布式数据大而严重降低性能。

你必须克服这个事实,为了能够扩展,你必须放弃一些功能。