1.Hadoop的数据都是来自于哪里:
答案:磁盘。
2.map与reduce可以同时运行吗?
答案:不能,由什么决定的,shuffle过程决定的。
3.spark为什么比hadoop要快,sprak尽量的避免从磁盘中进行读取,以及配置信息和计算数据,对比这些特性,极大的提高了
spark的执行效率,因此,spark的计算能力在一定范围内是比hadoop要优秀一些。
存储特点:
BlockManager-----快管理器:
Spark的存储系统的核心BlockManager:
1.shuffle的客户端shuffleclient.
2.BlockManager是用来管理所有的Executor的BlockManager的组件。
3.DiskBlockManager磁盘块管理器
4.Memorystore内存存储
5.DiskStore磁盘存储
6.Tachyon存储TachyonStore
7.CompressionCodec实现压缩算法的。
初始化的过程:
1.BlockTransforService初始化和ShuffleClient初始化
2.BlockManagerId和ShuffleServerId
3.向BlockManagerMaster注册BlockManagerId
Spark是支持了HDFS,定义了抽象的BlockStore,具体的实现类:Memorystore,DiskStore,TachyonStore.
shuffleClient:直接实现在Executor上边??因为在saprk的计算中,task分到不同的Executor执行。产生的中间数据一定会存在本地节点上,下一个reduce要处理这些中间数据,必然涉及到了数据的拉取,也同时必然会涉及到和其他节点的交互,这个是在每个Executor上运行一个ShuffleClient交互的手段,这样额能够减少交互时间,减轻BlockManagerMaster的压力。
中间过程如下图所示: