我希望将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功能。
答案 0 :(得分:2)
Spark数据帧(Spark 2.2)没有足够的Pandas功能。
他们没有足够的功能,因为扩展需要进行严格的权衡。许多功能(比如绘制或索引你喜欢的功能)都没有多大意义,或者会因内存和分布式数据大而严重降低性能。
你必须克服这个事实,为了能够扩展,你必须放弃一些功能。