大数据平台核心技术A知识汇总

大数据知识汇总

第三章分布式文件系统HDFS

1、分布式文件系统有两大核心主件:主、从节点。

主节点(Master Node)又称名称节点(NameNode),其负责文件和目录的创建、删除和重命名等;从节点(Salve Node)又称数据节点(DateNode),其负责数据的存储和读取。   数据节点也要根据名称节点的命令创建、删除和复制数据块。

2、HDFS的局限性:

  1. .不适合低延迟数据访问;2).无法高效存储大量小文件;3).不知处多用户写入及任意修改文件(可以删除和添加);3).不适合用于实时交易系统。

3、HDFS也同样采用了块的概念,默认一个块的大小为64MB。

4、HDFS采用块概念的明显好处:

1).支持大规模文件存储(文件以块为单位进行存储);2).简化系统设计(简化设计使得元数据不需要和文件块一起存储);3).适合数据备份。

5、名称节点有两大核心主件:FsImage和EditLog

FsImage用于维护文件系统树以及文件树中所有的文件和文件夹的元数据;

EditLog(日志文件)中记录了所有针对文件的创建、删除、重命名等操作。

6、第二名称节点是HDFS架构的一个重要组成部分,它有两个作用:

  1. .可以完成EditLog和FsImage的合并操作,减小EditLog的文件大小,缩短名称节点重启时间;  2).可以作为名称节点的“检查点”,保存名称节点中的元数据信息。

6、第二名称节点是HDFS架构的一个重要组成部分,它有两个作用:

  1. .可以完成EditLog和FsImage的合并操作,减小EditLog的文件大小,缩短名称节点重启时间;  2).可以作为名称节点的“检查点”,保存名称节点中的元数据信息。

7、HDFS的客户端:shell、python、网页。

8、HDFS的通讯协议都是构建在TCP/IP基础之上的。

9、客户端与数据节点的交互通过远程过程调用RPC来实现,名称节点不会主动发起RPC。

10、HDFS体系结构的局限性:p54

11、HDFS只设置唯一一个名称节点,所以名称节点死后就不能再使用。

12、HDFS的数据副本有三个,所以有较高的容错性。

13、使用多副本可以加速数据传输(√)。

14、每个数据节点会定期向名称节点发送“心跳”信息,判断服务器是否可用。

第四章分布式数据库Hbase

1、Hbase是从谷歌BigTable这篇论文开始的。

2、Hbase是应用到PB级别的。

3、Hbase的存储依旧在HDFS中,其使用HDFS作为高可靠的底层存储。

4、Hbase是列式数据库,主要存储非结构化和半结构化的松散数据,但也可以存储结构化的数据。

5、Hbase的特点是:高可靠性、高性能、面向列、可伸缩。

6、Hbase采用稀疏存储。

7、Hbase与传统数据库的对比分析:

1).数据类型:关系数据库采用关系数据,具有丰富的数据类型和存储方式。而Hbase则采用了简单的数据类型,他把数据存储为未经解释的字符串;

2).数据操作:关系数据库不仅有增删改查,还有多表查询。Hbase不存在表与表之间的复杂关系,只有简单的增删改查;

3).存储模式:关系数据库是行式存储,Hbase是列式存储;

4).数据索引:关系数据库可以针对不同列构建复杂的多个索引,而Hbase只有一个索引——行建;

5).数据维护:关系数据库中旧值被覆盖后不再存在,Hbase并不会删除旧的版本;

6).可伸缩性:MySQL最多的字段为1024,而Hbase无局限。

8、Hbase的客户端:shell,java,python,网页端等。

9、Hbase的列族随便加,方便灵活地去添加,支持动态扩展。

10、Hbase确定一个信息是根据“四维坐标”:行建,列族,列限定符,时间戳。

11、Hbase中master不是很重要,当Hbase启动且master挂掉时,还是可以进行读写的,只不过无法创建目录。

12、Hbase的实现包括三大组件:库函数,一个Master主服务器,许多个Region服务器。(期末已考)

库函数:连接到每个客户端;

Master:负责管理和维护Hbase表的分区信息;

Region:负责存储和维护分配给自己的Region,处理来自客户端的读写请求。

13、Hbase客户端并依赖于Master而是借助于ZooKeeper(分布式文件管理信息器)来获得Region的位置信息。

14、在2006年每个Region的默认大小是100到200MB,目前是2GB。

15、Hbase三层结构中各层次的名称和作用。

16、为了加快访问速度,meta表的全部Region都会北保存在内存中。

17、ZooKeeper服务器可以帮助选举出一个Mater作为集群的主管,并保证在任何时间总有唯一一个 Mster服务器在运行,这就能避免了主服务器的“单点失效”问题。

第七章MapReduce

1、MapReduce的数据之间有一定的依赖关系就不能分开(空间、时间上的依赖)。

2、MapReduce的核心思想是“分而治之”,设计理念是“计算机向数据靠拢”。(期末已考)

3、MapReduce将复杂的、运行于大规模集群上的并行计算过程高度抽象为两个函数:Map(映射)和Reduce(归纳)。

4、split的多少决定了Map任务的数目,reduce由solt数量决定。

5、Shuffle是指对Map任务输出结果进行分区、排序、合并(合并不能改变最终的结果,期末已考)。

6、Map的输入采用Hadoop默认的<key,value>输入方式,且其输出并没有经过shuffle。

7、Map与Reduce的输入输出过程。(期末已考)

第九章数据仓库Hive

1、Hive数据库中内部表与外部表的区别:(期末已考)

主要从谁管理这些数据、谁创建表;删除文件时有什么区别,这两个去回答

答:内部表的文件、元数据和统计数据等由hive进行管理,且被存储在hive、metastore、warehouse、dir目录下;当内部表的表或者分区被删除时,相对应的数据和元数据也会被删除;

外部表可以指定location,可以不基于hive进行操作;当外部表删除表或分区时,数据仍然存在。

2、数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。(期末必考)

3、HIve没有索引。

4、Hive是一个构建在Hadoop之上的数据仓库工具。

5、Hive定义了简单的类似SQL的查询语言----HiveQL,它能兼容95%的SQL。

6、Hive依赖HDFS来存储数据、依赖MapReduce来处理数据。

7、用户通过编写的HiveQL就能运行MapReduce任务。

8、Hive是一个可以有效、合理、直观地组织和使用数据的分析工具。

9、Hive的三大核心组件:用户接口、驱动模块、元数据存储模块。

驱动模块包括:编译器(翻译成MapRedece任务而不是代码)、优化器、执行器、解析器(查看SQL是否正确);

源数据存储模块:是一个独立的关系数据库。

10、如果使用Hive创建外部表,其路径必须是一个文件夹路径,不能指向一个文件。因为它认为你会放多个文件。

猜你喜欢

转载自blog.csdn.net/yh1009/article/details/131631662
今日推荐