第19章 大数据处理系统分析与设计-全面深度 重点提炼
知识体系框架
第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:资源管理和调度
批处理层:处理历史数据
速度层:处理实时数据
服务层:合并结果
更多推荐
所有评论(0)