- 博客(5)
- 资源 (9)
- 收藏
- 关注
转载 spark 数据倾斜
一. 数据倾斜的现象1、spark中一个stage的执行时间受限于最后那个执行完的task,因此运行缓慢的任务会拖累整个程序的运行速度(分布式程序运行的速度是由最慢的那个task决定的)比如,总共有1000个task,997个task都在1分钟之内执行完了,但是剩余两三个task却要一两个小时。这种情况很常见。 2、原本能够正常执行的Spark作业,某天突然报出OOM(内存溢出)异常,观察异常栈...
2018-02-08 16:48:38 996
转载 spark sql优化:小表大表关联优化 & union替换or & broadcast join
----原语句(运行18min) SELECT bb.ip FROM ( SELECT ip , sum(click) click_num, ...
2018-02-08 16:14:16 13086 8
转载 spark cache (几种缓存方法)
例如有一张hive表叫做activity。cache表,数据放内存,数据被广播到Executor,broadcast,将数据由reduce side join 变map side join。效果都是查不多的,基本表达的都是一个意思。具体效果体现:读数据次数变小;df(dataframe)执行过一次就已经有值,不用重新执行前方获取df的过程。将多份数据进行关联是数据处理过程中非常普遍的用法,不过在分...
2018-02-08 15:28:10 41485 4
转载 spark中cache和persist的区别,rdd缓存源码解析
一、cache和persist的区别昨天面试被问到了cache和persist区别,当时只记得是其中一个调用了另一个,但没有回答出二者的不同,所以回来后重新看了源码,算是弄清楚它们的区别了。cache和persist都是用于将一个RDD进行缓存的,这样在之后使用的过程中就不需要重新计算了,可以大大节省程序运行时间。cache和persist的区别基于Spark 1.4.1 的源码,可以看到/** ...
2018-02-08 10:31:38 551
转载 Python小技巧:使用*解包和itertools.product()求笛卡尔积
【问题】目前有一字符串s = "['a', 'b'],['c', 'd']",想把它分开成为两个列表:list1 = ['a', 'b']list2 = ['c', 'd']之后使用itertools.product()求笛卡尔积,应该写成:1 for i in itertools.product(list1, list2):2 print i结果为:('a', 'c')('a', ...
2018-02-08 10:20:20 421
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人