- 博客(8)
- 资源 (2)
- 收藏
- 关注
转载 java-常用集合的特点
ArrayList 基于数组,在数组中搜索和读取数据是很快的。因此 ArrayList 获取数据的时间复杂度是O(1); 添加、删除时该元素后面的所有元素都要移动,所以添加/删除数据效率不高; 每次达到阈值需要扩容,影响效率。ArrayList的随机访问更高,基于数组实现的ArrayList可直接定位到目标对象,VectorVector是线程安全的, 由于Vector中的方法基本都是sync
2017-09-24 23:12:59 525
转载 spark-调优-数据倾斜
过滤导致倾斜的key方案实现原理:将导致数据倾斜的key给过滤掉之后,这些key就不会参与计算了,自然不可能产生数据倾斜。方案优点:实现简单,而且效果也很好,可以完全规避掉数据倾斜。 方案缺点:适用场景不多,大多数情况下,导致倾斜的key还是很多的,并不是只有少数几个。 方案实践经验:在项目中我们也采用过这种方案解决数据倾斜。 有一次发现某一天Spark作业在运行的时候突然OOM了,追查之后发
2017-09-22 07:51:51 353
转载 spark-troubleshooting-常用问题解决
现象: Failed to get broadcast_9_piece0 of broadcast_9 解决: –conf spark.cleaner.ttl=120000现象: 1. missing output location org.apache.spark.shuffle.MetadataFetchFailedException: Missing an output lo
2017-09-22 01:00:17 1636
原创 spark-troubleshooting-OOM
java.lang.OutOfMemoryError: Java heap space java.lang.OutOfMemoryError:GC overhead limit exceededyarn-client 模式 增加 spark submit –driver-memory 大小增加job的并行度增加spark.executor.memory降低 spark.storage.memory
2017-09-22 00:04:36 277
转载 spark-调优-shuffle
合并map端输出文件new SparkConf().set(“spark.shuffle.consolidateFiles”, “true”) 默认情况下,是不开启的,开启shuffle map端输出文件合并的机制之后: 第一个stage,同时就运行cpu core个task,比如cpu core是2个,并行运行2个task; 每个task都创建下一个stage的task数量个文件; 第一个
2017-09-21 23:13:57 350
转载 spark-调优-JVM
开启日志调试 在让G1 GC跑起来之后,我们下一步就是需要根据GC log,来进一步进行性能调优。首先,我们要让JVM记录比较详细的GC日志. 对于Spark而言,我们需要在SPARK_JAVA_OPTS中设置参数使得Spark保留下我们需要用到的日志. 一般而言,我们需要设置这样一串参数: -XX:+PrintFlagsFinal -XX:+PrintReferenceGC -verbos
2017-09-21 22:19:16 832
原创 优秀程序设计遵循的原则
可配置 (参数或者配置文件的形式);高效 (经过优化);简洁(一目了然 见名知意);规范化(代码有一定的规范和标准);具有很强的防错性; 巧用设计模式;模块化,遵循单一责任原则;多用接口少用类;优先选择不可变的对象;经过充分的测试;尽量简短,调用成熟的库,避免bug
2017-09-17 21:37:41 1524
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人