知识体系框架

第19章  大数据处理系统分析与设计 

19.1  大数据概述

        大数据的定义

       大数据的特征

       大数据的发展历程

19.2  大数据处理技术

       数据采集技术

       数据存储技术

      数据处理技术

      数据分析技术

19.3  大数据系统架构

       大数据系统架构模式

       hadoop 生态系统

      Spark生态系统

      NoSQL数据库

19.4   大数据应用

         大数据应用场景

         大数据应用案例

         大数据应用挑战

一.大数据概述

1.1 大数据的定义

大数据定义:

大数据是指无法在一定时间内常规软件工具对其内容进行抓取,管理和处理的数据集合

大数据的特点:

大数据具有4v特征:

特征                  英文                                   说明

 volume          数据量巨大                          数据量达到PB,EB甚至ZB级别

velocity          数据产生和处理速度快              数据实时产生,需要快速处理

Variety            数据类型多样                        结构化,半结构化,非结构化数据

value              价值密度低                            数据价值密度低,但整体价值高

大数据的5V特征(扩展):

在4v基础上增加了:

特征                       说明

veracity                  数据的真实性和准确性

1.2大数据的发展历程

大数据发展的三个阶段:

阶段              时间                     特点

萌芽期         1980s-1990s          数据仓库,数据挖掘概念出现

成长期          2000s                   Google发表GFS,mMAPreduce ,BIGTABLE论文

爆发期          2010s至今              Hadoop 生态成熟,Spark 兴起,大数据应用广泛

1.3 大数据与传统数据的区别

比较项      传统数据     大数据

数据量     GB/TB级别    PB,EB级别

数据类型  结构化为主      结构化,半结构化,非结构化

数据来源   集中,有限      分散,多样

处理方式   批处理为主       批处理,流处理

处理工具   关系数据库       Hadoop ,SPARK等

价值密度    较高                    较低

二,大数据处理技术

2.1  数据采集技术

数据采集的定义:

数据采集是指从各种数据源获取数据的过程,包括日志文件,数据库,传感器,社交媒体等

常见数据采集工具:

工具                    说明

FLUME              Apache开发的日志收集系统,用于大规模日志数据采集

Sqoop              Apahe开发的关系数据库与Hadoop之间的数据传输工具

KAFKA            分布式消息队列,用于实时数据流采集

logstash          开源的数据收集引擎,支持多种数据源

数据采集的流程:

步骤                                      说明

1.数据源识别                       确定数据来源

2.数据抽取                            从数据源抽取数据

3.数据传输                          将数据传输到存储系统

4.数据验证                         验证数据的完整性和正确性

2.2数据存储技术

大数据存储的特点:

特点                           说明

分布式存储                 数据分布在多个节点上

高可靠性                    数据冗余存储,提高可靠性

高扩展性                     可以水平扩展存储容量

高吞吐量                     支持大规模数据的读写

常见大数据存储技术:

1.HDFS

HDFS定义:

HDFS是HADOOP分布式文件系统,是数据存储的基础,用于存储海量数据。

HDFS的特点:

特点                        说明

高容错性               数据自动复制多个副本

高吞吐量                适合大规模数据访问

适合大文件            适合存储大文件,不适合小文件

顺序读写                适合顺序读写,不适合随机读写

HDFS的架构:

组件                    说明

NameNode        主节点,管理文件系统命名空间和数据块映射

DataNode          数据节点,存储实际数据块。

Secondary NameNode    辅助节点,合并编辑日志和镜像文件

HDFS的数据块:
默认数据块大小:128MB

数据块副本数:默认3各副本

2.HBase

HBase定义:

HBase是基于HDFS的分布式 列式存储数据库,支持海量数据的随机读写。

HBase的特点:

特点                             说明

分布式                     数据分布在多个节点

列式存储                 按列存储数据

高可靠性                数据冗余存储

实时读写               支持实时随机读写

HBase的数据模型:

概念                          说明

表                            数据存储单元

行键                      唯一标识一行数据

列族                    列的集合

列                        列族中的具体列

时间戳                 数据版本标识

3.NoSQL数据库

NoSQL是指非关系数据库,用于处理大规模数据。

NoSQL数据库的分类:

类型                             说明                                  代表产品

键值存储                   以键值对形式存储数据      REDIS,MEMCACHED

文档存储                 以文档形式存储数据            MONGODB,couchdb

列式存储               以列顇形式存储数据              HBbase,Casandra

图存储                 以图结构存储数据                  Neo4j,JanusGraph

NoSQL VS  关系数据库

比较项                  关系数据库              NoSQL数据库

数据模型             关系模型                    键值,文档,图等

查询语言             SQL                           无标准查询语言

事务支持           ACID事务                     BASE理论

扩展性              垂直扩展为主               水平扩展为主

适用场景           结构化数据,事务处理     海量数据,高并发

2.3数据处理技术

1.MAPReduce定义:MAPReduce是一种分布式计算模型,用于大规模数据集的并行处理

MapReduce的工作原理:

阶段                           说明

MAP阶段                    将输入数据分片,每个Map任务处理一个分片,输出键对值

Shuffile 阶段              将MAP输出的键值对键值对按键分组,传输到Reduce 节点

Reduce阶段               对每个建的所有值进行合并处理,输出最终结果

MapReduce的特点:

特点                          说明

分布式计算             任务分布在多个节点并行执行

容错性强                失败的任务可以自动重新执行

适合批处理            适合大规模数据的批处理

不适合实时处理    处理速度较慢 ,不适合实时场景

MapReduce编程模型:

Map函数:(k1,v1)list(k2,v2)

2.Spark

Spark是一种快速,通用,可扩展的大数据分析引擎,基于内存计算。

Spark的特点:

特点            说明

速度快         基于内存计算,比MAPREDUCE 快1100倍

易用性         支持多种语言(SCALA,JAVA,PYthon,R)

通用性         支持批处理,流处理,机器学习,图计算

兼容性         可以与Hadoop生态系统集成

Spark的核心组件:
组件                   说明

Spark  Core       核心引擎,提供RDD

Spark  SQL         结构化数据处理

Spark   Streaming    流式数据处理

MLlib                    机器学习库

Graphx                图计算库

SPark   RDD:

RDD定义:

RDD是SPARK的基本数据抽象,是一个不可变,分区的元素集合。

RDD的特点:

特点                      说明

不可变                  RDD创建后不可修改

分区                      数据分布在多个分区

容错性                 可以自动恢复丢失的分区

惰性计算              只有在行动操作时才真正计算

RDD的操作类型:

操作类型                        说明                                 示例

转换操作                惰性计算,返回新的RDD        map ,filter ,reduceBykEY

行动操作               触发计算,返回结果              count,collect,saveAsTextFile

Spark  vs  MAPReduce:

比较项                    MapReduce                   Spark

计算模式                基于磁盘                          基于内存

速度                      较慢                                 快100

易用性                   较难                            较易

适用场景             批处理                       批处理,流处理,机器学习‘

2.4数据分析技术

大数据分析方法:

方法                                说明

数据挖掘                        从大量数据发现模式

机器学习                        让计算机从数据中学习

统计分析                        使用统计方法分析数据

可视化分析                    将数据以图形方式呈现

三/大数据系统架构

3.1大数据系统架构模式

大数据系统架构的分层:
层次                            说明                         技术组件

数据采集层              采集各种数据             Flume,sQOOP,KAFKA

数据存储层             存储海量数据               HDFS,HBASE,Nosql

数据处理层            处理数据                     MapReduce,Spark

数据分析层           分析数据                    Hive,Pig,M,Mlib

数据应用层          提供应用服务             数据可视化,数据服务

3.2 Hadoop生态系统 

Hadoop生态系统组成:

组件                             说明

HDFS                         分布式文件系统

MapReduce               分布式计算框架

YARN                          资源管理和调度系统

Hive                             数据仓库工具,提供SQL查询

HBase                        分布式列式数据库

Pig                             数据流处理工具

Zookeeper                分布式协调服务

Flume                     日志收集系统

Sqoop                     数据传输工具

Qozie                      工作流调度系统

Hadoop三大核心组件:

组件                                 说明

HDFS                           分布式文件存储

MapReduce                 分布式计算

YARN                           资源管理和调度

YARN

YARN的作用:

YARN是Hadoop 2.0引入资源管理和调度系统,负责集群资源管理和任务调度

YARN的架构:

组件                                       说明

RESOURCEManager           全局资源管理器,负责整个集群的资源管理

NodeManager                     节点资源管理器,负责单个节点额资源管理

Application Master              应用管理器,负责单个应用的任务管理

3.3 Spark生态系统

Spark生态系统组成:

组件                      说明

Spark Core          核心引擎

Spark  SQL          结构化数据处理

Spark Streaming   o流式数据处理

MLlib                        机器学习库

Graphx                   图计算库

SparkR                    R语言接口

3.4大数据架构模式

Lambda架构:

定义:

Lambda架构是一种大数据系统架构模式,结合批处理和流处理,提供实时和离线数据处理能力。

Lambda架构的层次:

层次                                     说明

批处理层                        处理历史数据,提供准确的批处理视图

速度层                        处理实时数据,提供实时视图

服务层                       合并批处理层和速度层的结果

Lambda的架构的优点:
优点                               说明

容错性  强             批处理层可以重新计算

延迟低                  速度层提供实时结果

准确性高              批处理层提供准确结果

四/大数据应用

4.1大数据应用场景

大数据的应用领域:

领域                     应用场景

金融                  风险控制,信用评估,反欺诈

电商                用户画像 ,精准营销,推荐系统

医疗              疾病预测,药物研发,健康管理

交通            交通预测,智能导航,城市规划

教育             个性化学习,教育评估,学生画像

政府               智慧城市,公共安全,舆情分析

4.2大数据应用案例

典型案例:

案例                                说明

推荐系统                   基于用户行为数据推荐商品,视频,音乐

风险控制                  基于用户数据评估信用风险

精准营销                 基于用户画像进行靳准广告投放给

舆情分析               基于社交媒体数据分析舆论趋势

4.3大数据应用挑战

大数据应用面临的挑战

挑战                       说明

数据质量            数据质量参差不齐,需要清洗

数据安全         数据泄露和滥用风险

数据隐私        用户隐私保护问题

技术人才        大数据技术人才短缺

成本控制       大数据系统建设和运维成本高

大数据的特征

volume(大量):数据量巨大

velocity(高速):数据产生和处理速度快

Variety(多样):数据类型多样

Value(价值):价值密度低

HDFS的特点和架构

NameNode:主节点,管理命名空间

DataNode:数据节点,存储数据

特点:高容错,高吞吐,适合大文件

键值存储:Redis

文档存储:MongoDB

列式存储:HBase

图存储:Neo4j

Map阶段:处理输入数据,输出键值对

Shuffle阶段:按键分组

Reduce阶段:合并处理

特点:基于内存,速度快,通信强

组件:Spark Core,Spark   SQL Spark  Steaming MLIb,Graphx

HDFS:分布式文件存储

MapReduce:分布式计算

YARN:资源管理和调度

批处理层:处理历史数据

速度层:处理实时数据

服务层:合并结果

更多推荐