- 博客(2)
- 收藏
- 关注
原创 volatile和synchronized的区别
概述 在Java中,为了在多线程环境读写数据时保证数据的一致性,可以采用两种方式:线程同步和使用volatile关键字。 线程同步 资源共享的两个原因是资源紧缺和共建需求。线程共享CPU是从资源紧缺的维度考虑,而多线程共享变量通常是从共建需求的维度考虑的。在多个线程对同一个变量进行写操作时,如果操作没有原子性,就可能产生脏数据。所谓原子性操作,便是一系列不可分割的操作指令,要么全部执行,要么全部都...
2018-11-18 15:56:01 2074
原创 Spark RDD之Partitioner
概述 Partitioner是shuffle过程中key重分区时的策略,即计算key决定k-v属于哪个分区,Transformation是宽依赖的算子时,父RDD和子RDD之间会进行shuffle操作,shuffle涉及到网络开销,由于父RDD和子RDD中的partition是多对多关系,所以容易造成partition中数据分配不均匀,导致数据的倾斜。 Shuffle 在MapReduce框架中,...
2018-11-03 11:06:02 2765 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人