如何优雅地在jupyter notebook中解决内存不够导致服务器蹦了的情况

在数据分析实习中遇到内存不足问题,本文记录了将Python逻辑转换为SQL并使用LATERAL VIEW解决多行转一列操作的过程。由于服务器限制,最终在Jupyter Notebook中通过切分数据、循环提数来处理千万级数据,耗时12小时完成。此经验加深了对大数据处理方法、Spark和Jupyter能力的理解。
摘要由CSDN通过智能技术生成

        嗨喽! 大家好,我是“流水不争先,争的是滔滔不绝”的翀,欢迎大家来交流学习,一起入坑数据分析,希望我们一起好好学习,天天向上,目前在社会毒打中~~

前言

       记录一下自己实习中遇到一个需求问题,内存不足,概括解决方法的核心就是: 以时间换空间

问题来源

       写这篇文章的目的是因为这两天遇到一个需求: 取数,其中到一步因为运行内存的问题一直卡住, 大概是这样

user_id fan_list
1 […贼多几百万]

       我想将其拉成一张大表user_id, fan_id 去匹配连接fan的信息, 但是因为内存原因我无法拉出一个几千万行的数据表, 这个好像可以上spark 解决这个,但是spark上面用python我不太熟悉,

  1. 我听leader说也会复杂一点, 我瞬间产生点怯意,因为这个要得急,我又不确定要花多少时间, 所以在我还比较熟悉的SQL spark上将自己的python写逻辑转换成sql逻辑,
  2. 但是 遇到一个问题, sql语句怎么显示一行变多行的操作,多行变一行用groupby这个我会,但是反过来我就不清楚了

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据闲逛人

谢谢大嘎喔~ 开心就好

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值