首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我们尝试将巨大的Pandas数据帧(400-5000万行)转换为Spark2.0数据帧时,如何提高性能

当我们尝试将巨大的Pandas数据帧(400-5000万行)转换为Spark2.0数据帧时,如何提高性能
EN

Stack Overflow用户
提问于 2017-07-12 14:23:56
回答 1查看 563关注 0票数 2

我正在尝试使用以下代码将我的熊猫数据转换为激发2.0数据格式:

代码语言:javascript
复制
spark_df= sqlContext.createDataFrame(pandas_df)

我有几个问题:

  1. 我想了解当我们试图将熊猫数据转换为激发数据格式时,内部会发生什么。正如我所理解的,当我们试图使用toPandas()方法将火花转化为熊猫时,内部会发生什么,就像所有的事情都会发生在驱动程序上,等等。
  2. 我把熊猫转化为火种,但花了太多的时间,似乎超过10-12个小时。我能想到的一个原因是因为熊猫有4300万行数据。期待着知道我有什么办法能得到一些表现上的收获吗??或者,如果我提供显式模式,它会有帮助吗?或者有什么建议吗?
EN

回答 1

Stack Overflow用户

发布于 2017-07-12 18:30:12

为什么你要从这么大的熊猫DF中创建一个火花DF呢?这没有任何意义。这是一个巨大的开销,因为你把你的数据装入内存通过熊猫DF,然后再在星火。不确定您的设置与内存、集群大小等类似,但如果您在本地计算机上,这会耗尽您的内存。

我的建议是,因为熊猫DF有一种关系格式,我猜您是从csv文件(或任何其他类似tsv等)创建DataFrame的。更好的解决方案是通过DataFrame将其直接加载到DataFrameReader中。您也可以传递模式,然后加载将更快。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45060397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档