大数据技术原理与应用
-
大数据的4V特征
数据量大(Volume)、数据类型繁多(Variety)、处理速度快(Velocity)、价值密度低(Value)。 -
HDFS 各个版本中,名称节点的数量
1个 -
负责 HDFS 数据存储的程序
数据节点(DataNode) -
Hbase的表索引
行键(Row Key) -
Region服务器中的Store
Region服务器是Hbase的核心模块,而Store是Region服务器的核心。
每个Region对象由多个Store组成,每个Store对应表中的一个列族的存储。每个Store又包含一个MemStore和若干个StoreFile。
(MemStore是内存中的缓存,保存最近更新的数据;StoreFile是磁盘中的文件,这些文件都是B树结构,方便快速读取。) -
键值数据库的典型产品
Redis、Riak、SimpleDB、Chordless、Scalaris、Memcached -
NoSQL数据库的三大理论基石
CAP(Consistency:一致性;Availability:可用性;Tolerance of Network Partition:分区容忍性)、
base(Basically Available:基本可用;Soft-state:软状态;Eventual consistency:最终一致性)、
最终一致性 -
Reduce函数
| 函数 | 输入 | 输出 | 说明 |
|---|---|---|---|
| Reduce | 输入的中间结果 |
Reduce函数的任务就是输入的一系列具有相同键的键值对以某种方式组合起来。输出处理后的键值对。输出结果会合并成一个文件。用户可以指定Reduce任务的个数(如n个),并通知实现系统。然后主控进程通常会选择一个Hash函数,Map任务输出的每个键都会经过Hash函数计算,并根据哈希结果将该键值对输入相应的Reduce任务来处理。例如处理键为k的Reduce任务的输入形式为
-
数据仓库产品的典型代表
传统数据仓库:Oracle、BusinessObjects、IBM Informix、Sybase、NCR、Microsoft、SAS等。
新型数据仓库:Hive。 -
Hive 的特点
可伸缩(在Hadoop的集群上动态添加设备)、可扩展、容错、输入格式的松散耦合。 -
Impala 系统架构
Impala和Hive、HDFS、Hbase等工具是统一部署在一个Hadoop平台上的。
Impala主要由Impalad、State Store和CLI三部分组成。
(Impalad:Impalad是Impala的一个进程,负责协调客户端提交的查询的执行,给其他Impalad分配任务以及收集起他Impalad的执行结果进行汇总。
State Store:负责收集分布在集群中各个Impalad进程的资源信息,用于查询的调度。
CLI:CLI给用户提供了执行查询的命令行工具,同时,Impala提供了Hue、JDBC及ODBC使用接口。) -
Spark 的特点
运行速度快、容易使用、通用性、运行模式多样。 -
Flink 主要特性
批流一体化、精密的状态管理、事件时间支持以及精确一次(Exactly-once)的状态一致性保障等。 -
可视化的地图工具
Google Fusion Tables、Modest Maps、Leaflet。 -
大数据时代新兴的技术
医疗健康大数据集成、存储和处理技术;基于大数据的健康评估技术、基于大数据的个性化诊疗技术。 -
大数据计算模式
批处理计算、流计算、图计算、查询分析计算。 -
Hadoop 的特点
高可靠性、高效性、高可扩展性、高容错性、成本低、运行在Linux操作系统上、支持多种编程语言。 -
HDFS 通信协议
HDFS通信协议都是构建在TCP/IP基础之上的。客户端通过一个可配置的端口向名称节点主动发起TCP连接,并使用客户端协议与名称节点进行交互。名称节点和数据节点之间则使用数据节点协议进行交互。客户端与数据节点的交互通过远程过程调用来实现。在设计上,名称节点不会主动发起RPC,而是响应来自客户端和数据节点的RPC请求。 -
Hbase 系统架构组成部分
客户端、Zookeeper服务器、Master服务器、Region服务器。
-
客户端首次查询 Hbase 数据库时先查找什么
-ROOT-表 -
NoSQL 数据库和关系数据库的比较
| 比较标准 | RDBMS | NoSQL |
|---|---|---|
| 数据库原理 | 完全支持 | 部分支持 |
| 数据规模 | 大 | 超大 |
| 数据库模式 | 固定 | 灵活 |
| 查询效率 | 快 | 可以实现高效的简单查询,但是不具备高度结构化查询等特性,复杂查询等性能不尽人意 |
| 一致性 | 强一致性 | 弱一致性 |
| 数据完整性 | 容易实现 | 很难实现 |
| 扩展性 | 一般 | 好 |
| 可用性 | 好 | 很好 |
| 标准化 | 是 | 否 |
| 技术支持 | 高 | 低 |
| 可维护性 | 复杂 | 复杂 |
- MapReduce 中 Shuffle 操作的具体内容
Map端端Shuffle过程:(1)输入数据和执行Map任务(2)写入缓存(3)溢写(分区、排序和合并)(4)文件归并
Reduce端端Shuffle过程:(1)“领取”数据(2)归并数据(3)把数据输入给Reduce任务 - 典型的数据仓库产品(重复题)
- Hive 用户接口模块
CLI、Hive网页接口(Hive Web Interface,HWI)、JDBC、ODBC、Thrift Server等。 - Impala 系统架构的组成部分
Impala主要由Impalad、State Store和CLI三部分组成。 - 对 RDD 的描述
RDD:是分布式内存的一个抽象概念,提供了一种高度受限的共享内存模型。 - Apache 软件基金会最重要的三大分布式计算系统开源项目
Hadoop、Spark、Storm。 - Flink 应用场景
事件驱动型应用、数据分析应用、数据流水线应用。 - HDFS 默认块大小
128MB - 计算机集群中与存储相关的两类节点
名称节点NameNode和数据节点DataNode - Hbase 表的“四维坐标”
【“行键”,“列族”,“列限定符”,“时间戳”】 - 图数据库典型产品
Neo4J、OrientDB、InfoGrid、Infinite Graph、GraphDB - CAP 的含义
C(Consistency):一致性;
A(Availability):可用性;
P(Tolerance of Network Partition):分区容忍性 - Spark 生态系统主要组成部分
Spark Core、Spark SQL、Spark Streaming、MLlib(机器学习)、GraphX(图计算)。 - Flink 核心组件栈层次
物理部署层、Runtime核心层、API&Libraries层。 - 可视化中信息图表工具
Google Chart API、D3、Visual.ly、Tableau、大数据魔镜。 - 三次信息化浪潮的标志
第一次:个人计算机
第二次:互联网
第三次:大数据、云计算和物联网 - 启动 hadoop 所有进程的命令
cd /usr/local/hadoop ./sbin/start-all.sh
-
HDFS 名称节点功能
名称节点记录了每个文件中各个块所在的数据节点的位置信息,但是并不持久化地存储这些信息,而是在系统每次启动时扫描所有数据节点并重构,得到这些信息。 -
Map 函数技术细节
Map函数的输入来自分布式文件系统的文件块,这些文件块的格式是任意的,可以是文档格式,也可以是二进制格式。文件块是一系列元素的集合,这些元素也是任意类型的,同一个元素不能跨文件块存储。Map函数将输入的元素转换成形式的键值对,键和值的类型也是任意的,其中,键没有唯一性,不能作为输出的身份标识,即使是同一输入元素,也可通过一个Map任务生成具有相同键的多个 。 -
负责 MapReduce 任务调度的进程
JobTracker -
采用多副本冗余存储的优势
加快数据传输速度、容易检查数据错误、保证数据的可靠性。 -
Hbase 的特性
高可靠性、高性能、面向列、可伸缩的。 -
文档数据库的典型产品
CouchDB、MongoDB、Terrastore、ThruDB、RavenDB、SisoDB、RaptorDB、CloudKit、Persevere、Jackrabbit。 -
RDD 的技术特点和细节
(1)高效的容错性
(2)中间结果持久化到内存
(3)存放的数据可以是Java对象,避免了不必要的对象序列化和反序列化开销。 -
大数据关键技术中的数据采集范畴
利用ETL工具将分布在异构数据源中的数据,如关系数据、平面数据文件等,抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘到基础;也可以;利用日志采集工具(如Flume、Kafka等)把实时采集的数据作为流计算系统等输入,进行实时处理分析。 -
HDFS 局限性
(1)命名空间等限制
(2)性能的瓶颈
(3)隔离问题
(4)集群的可用性 -
云计算中的 IaaS,PaaS,SaaS
IaaS:基础设施即服务,将基础设施(计算资源和存储)作为服务出租。
PaaS:平台即服务,把平台作为服务出租。
SaaS:软件即服务,把软件作为服务出租。 -
云计算关键技术
虚拟化、分布式存储、分布式计算、多租户等。 -
NoSQL 数据库的理论内容
NoSQL是一种不同于关系数据库等数据库管理系统设计方式,是对非关系数据库等统称。它所采用的数据模型并非传统关系数据库的关系模型,而是类似键值、列族、文档等非关系模型。NoSQL数据库没有固定的表结构,通常也不存在连接操作,也没有严格遵守ACID约束。 -
RDD 操作
RDD提供了两类操作:
行动(Action):count、collect
转换(Transformation):map、filter、groupBy、join -
图计算
在实际应用中,存在许多图计算问题,如最短路径、集群、网页排名、最小切割、连通分支等。 -
图计算框架 Pregel 的应用
解决单源最短路径问题和二分匹配问题。 -
大数据技术的"数据存储和管理"技术层面的功能
利用分布式文件系统、数据仓库、关系数据库、NoSQL数据库、云数据库等,实现对结构化、半结构化和非结构化海量数据的存储和管理。 -
IT 领域最新的技术发展趋势
基于大数据的技术。 -
Hadoop 集群中,SecondaryNameNode的功能
首先,它可以完成EditLog与FsImage的合并操作,减小EditLog文件大小,缩短名称节点重启时间;其次,它可以作为名称节点的“检查点”,保存名称节点中的元数据信息。 -
Hadoop 中,访问层的功能(???)
-
分布式文件系统的定义
分布式文件系统是一种通过网络实现文件在多台主机上进行分布式存储的文件系统。 -
在 HDFS 中,NameNode 的主要功能
记录每个文件中各个块所在的数据节点的信息位置。 -
NoSQL 的四大类型
键值数据库、列族数据库、文档数据库、图数据库。 -
MapReduce 体系结构主要部分
Client、JobTracker、TaskTracker、Task -
在 Hbase 中的数据操作
put:向表、行、列指定的单元格添加数据
get:通过指定表名、行、列、时间戳、时间范围和版本号来获得相应单元格的值
scan:浏览表的相关信息
delete:删除指定单元格的数据 -
Spark 生态系统组件 MLlib 的应用场景
基于历史数据的数据挖掘 -
BigTable 的特性
高可靠性、高性能、可伸缩等特性 -
计算机存储容量单位
Byte(字节)、KB(千字节)、MB(兆字节)、GB(吉字节)、TB(太字节)、PB(拍字节)、EB(艾字节)、ZB(泽字节)。 -
大数据的发展历程
| 阶段 | 时间 | 内容 |
|---|---|---|
| 第一阶段:萌芽期 | 20世纪90年代~21世纪初 | 随着数据挖掘理论和数据库技术的逐步成熟,一批商业智能工具和知识管理技术开始被应用,如数据仓库、专家系统、知识管理系统等。 |
| 第二阶段:成熟期 | 21世纪前10年 | Web2.0应用迅猛发展,非结构化数据大量产生,传统处理方法难以应对,带动了大数据技术的快速突破,大数据解决方案逐渐走向成熟,形成了并行计算与分布式系统两大核心技术,谷歌的GFS和MapReduce等大数据技术受到追捧,Hadoop平台开始盛行 |
| 第三阶段:大规模应用期 | 2010年以后 | 大数据应用渗透各行各业,数据驱动决策,信息社会智能化程度大幅提高 |
- Hadoop 的特性(重复题)
高可靠性、高效性、高可扩展性、高容错性、成本低、运行在Linux操作系统上、支持多种编程语言。 - 计算机集群中的节点(重复题)
名称节点、数据节点 - HDFS 采用抽象的块概念带来的好处
支持大规模文件存储、
简化系统设计、
适合数据备份。 - 键值数据库的特点
扩展性好、灵活性好、大量写操作时性能高 - UMP 系统功能
容灾、读写分离、分库分表、资源管理、资源调度、资源隔离、数据安全。 - MapReduce 模型的描述
待处理等数据集可以分解成许多小的数据集,而且每一个小数据集都可以完全并行地进行处理。 - 分布式并行编程的描述
分布式并行程序可以运行在由大量计算机构成的集群上,从而可以利用集群的并行处理能力,同时通过向集群中增加新的计算节点,可以很容易地实现集群计算能力的扩充。 - JobTracker 的构成(???)
JobTrack三大功能:资源管理、任务调度、任务监控 - 大数据产业
大数据产业包括IT基础设施层、数据源层、数据管理层、数据分析层、数据平台层和数据应用层。 - FsImage 的描述
FsImage用于维护文件系统树以及文件树中所有的文件和文件夹的元数据。 - 数据库事务的 ACID 四性
原子性、一致性、隔离性、持久性 - UMP 系统中的角色
Controller服务器、Web控制台、Proxy服务器、Agent服务器、日志分析服务器、信息统计服务器、愚公系统。 - MapReduce 体系结构中,JobTracker 的主要任务
JobTracker是整个MapReduce计算框架中的主服务,相当于集群的“管理者”,负责整个集群的作业控制和资源管理。



