首页
学习
活动
专区
工具
TVP
发布

PySpark调优

在项目当中, 必须要用到python库,而且还涉及到很多的Python的包调用,必须要用到PySpark。

问题

在使用pyspark过程当中, 遇到以下两类问题

python -m pyspark.daemon 进程 占用cpu 100%

CoarseGrainedExecutorBackend 与 pyspark.daemon tcp堆栈当中有大量的未读数据

task任务长时间无法完成

问题原因

因为大量的io阻塞,导致task任务 jvm与python pip无法正常关闭,但是jvm端认为读取已经完成所以导致 两进程都不退出。

解决方案

压缩文本 打开arrow格式 arrow性能说明如下

增大jvm的独立性

在spark-env.sh当中增加以下记录

修改spark-defaults.conf参数

效果

修改之前

修改之前,执行时间完全超出预期

修改之后

执行时间以小时计算

说明

数据总量大概在40-60G之间

打开arrow之后,并且设置了instances,shuffle之间的executor 就无法优化但是执行时间提升很大

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181224G0U5M900?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券