分布式计算基础知识点
Hadoop分布式存储与处理
1.HDFS(分布式数据存储系统)
-
实现数据存储
-
高容错性
-
数据备份机制。当一个节点出现故障,HDFS可以从其他节点获取数据。
-
-
强的水平拓展性
-
通过增加节点来扩展处理的数据量和性能,支持万以上的节点规模。通过数据块的自动多份复制策略。
-
HDFS 的基本结构
-
数据节点:存储数据块
-
名字节点:维护数据块的备份存储位置等信息
-
读取:名字节点——>数据节点
-
下载:名字节点——>数据节点
总结:
-
HDFS不适合处理大规模的小文件的存取。大规模的小文件会占用名字节点的大量内存。
-
在HDFS中,一个数据文件同时只能有一个写入操作;对于文件的修改,也仅支持文件追加操作,而不能随意修改文件内容。
2.MapReduce(分布式数据处理框架)
-
key-value对
-
MapReduce作业过程
Input-Splitting-Mapping-Shuffling-Reducing-Finalresult
-
核心Map阶段和Reduce阶段
-
在MapReduce中,以上通过发送状态信息进行容错的机制称为心跳机制。
Spark:分布式数据分析
-
MapReduce的每一次作业都需要从磁盘加载数据。
1.Hadoop相比,Spark的主要优势包括:
-
Spark的数据分析作业中间输出和结果可以保存在内存中,可以不需要再读写HDFS,极大提高MapReduce的效率。
-
Spark提供更多的数据集操作的方法,给数据分析人员带来更多灵活性,Hadoop只提供了map和reduce操作。
-
对于机器学习算法、图算法有很好的支持。
2.RDD(弹性分布式数据集)
-
将物理上分布再多个节点的数据集抽象成逻辑上的一个完整的数据集,可以像处理单击书籍一样处理海量数据。
-
在计算处理的过程中,将数据分布在集群存储节点的内存中,当节点的内存不够用时,可以将数据存储在硬盘中。
-
创建RDD的三种方式:
3.Spark运行流程
驱动程序和工作程序
浙公网安备 33010602011771号