离线和实时大数据开发学习笔记
2023-09-24 00:07:56 1 举报
AI智能生成
离线和实时大数据开发学习笔记
作者其他创作
大纲/内容
离线数据开发
Hadoop
HDFS(负责分布式存储)
优势
处理超大文件:大文件分成小Split,分配下游节点存储
廉价机器集群:对数据可靠性安全性和高可用充分考虑
高容错和高可靠性:自动保存多个副本,一般为3个
流式访问数据
局限
不适合低延迟数据访问
无法高效存储大量小文件:文件系统容纳文件数量由NameNode内存决定
归档小文件:SequenceFile、MapFile、Har
NameNode集群:Alibaba DFS
不支持多用户写入和随机文件修改
HDFS体系结构
MapReduce(负责分布式计算)
优势
易于编程
良好拓展性
高容错性
局限
实时计算
流计算:静态数据源
DAG有向图计算
MapReduce架构
执行流程
1-输入分片
2-Map阶段
3-Combiner阶段(可选)
4-Shuffle阶段(核心)
Map阶段的Shuffle
Reduce阶段的Shuffle
Copy Map输出
Merge阶段
Reduce处理
5-Reduce阶段
Hive
数据大图
数据产生
数据来源维度
业务系统
数据库:格式化高质量
Web系统
数据库:格式化高质量
用户行为日志:非格式化
手机APP
用户行为埋点
外部系统
爬虫工具
外购数据
人工整理
数据特征维度
结构化数据
数据库
半结构化数据
日志文件
非结构化数据
图片语音视频等
数据采集和传输
数据存储和管理
离线处理(天)
离线数据仓库
Google三篇论文构建Hadoop生态系统
分布式文件系统Google File System
HDFS
分布式计算框架MapReduce
MapReduce
分布式数据库Bigtable
HBase
近线处理(小时/分钟)
实时处理(毫秒/秒)
Storm/类Storm的流处理框架
Spark生态的Spark Streaming
数据应用
技术栈
数据采集
Sqoop:离线传输工具。主要用户Hadoop(Hive)与传统数据库(Mysql)之间数据传递
Flume:实时数据采集平台。供下游流处理框架如Storm使用。
类似还有Scribe
Kafka:解决Flume数据采集速度和下游处理速度不同步问题的消息中间件。
类似还有RabbitMQ,ActiveMQ,ZeroMQ
数据处理
离线和准实时
MapReduce(Google)
Hive(Facebook):Hive提供了一些对Hadoop文件中的数据集进行数据处理、查询和分析的工具,它支持类似于传统RDBMS的SQL语言的查询语言
准实时
Spark(UC Berkeley AMP Lab):解决Hive数据查询延迟问题;提供类似Hive的SQL接口
提供实时数据处理的流计算框架Spark Streaming
实时
Storm(Twitter):Storm也对数据的实时计算提供了简单的Spout和Bolt原语
离线+实时
Flink(Apache):Flink完全支持流处理,批处理被作为一种特殊的流处理,只是它的输入数据流被定义为有界的而已
Beam(Google):重点在于数据处理的编程范式和接口定义,并不涉及具体执行引擎(Runner)的实现
数据存储
HDFS:Hadoop Distributed File System
HBase:一种构建在HDFS之上的分布式、面向列族的存储系统
数据应用
Drill(Apache)
R语言
TensorFlow
成员角色
数据平台开发,运维工程师
保证大数据处理全流程数据平台和工具的引入开发和迭代
数据开发,运维工程师
确定埋点需求和数据接口,数据分析需求落地
根据时效性要求,选择恰当工具采集与同步数据
原始数据加工,建模,写入数据仓库
设计开发实时流处理任务
受理对数据来源,口径,质量问题咨询
管理数据资产
数据分析工程师
数据报表化,成为决策参考
算法工程师
通过数据分析算法推进业务成长
推荐系统
业务人员
自助数据分析
数据平台大图
离线数据平台
数据仓库类别
OLTP(Online Transaction Processing)
事务性关系数据库:适合线上业务,不适合大数据分析,初始阶段用备库应对大数据查询
OLAP(Online Analysis Processing)
分析型数据库:数据批量导入,只处理查询,无需考虑增删改查和并发锁控制
代表产品:Teradata
Hadoop数据仓库
代表方案:Hive
数据仓库建模技术
Ralph Kimball建模方法论
自下而上构建数据仓库,各部门构建自己的数据集市,集市整合在一起组成企业数据仓库
Bill Inmon建模方法论
自上而下构建数据仓库,各部门数据集市是企业数据仓库子集
数据仓库分层
ODS准备区
源头系统的数据表原封不动存储
DWD明细层和DWS汇总层
ODS数据经过ETL清洗,转换,加载生成
ADS应用层
各部门和业务给予DWD和DWS建立的数据集市(DaraMart DM)
整体架构
离线数据平台整体架构
数据仓库逻辑分层架构
实时数据平台
支撑技术
实时数据采集:Flume
消息中间件:Kafka
流计算框架:Strom,Spark,Flink,Beam
技术特点
无边界:数据源源不断
触发机制:源头数据触发,区别于离线计算定时触发
延迟:毫秒或秒级别
历史数据:无法追溯修复,保存时间较短,一般为几天
实现机制
微批处理
Spark Streaming
原生消息处理
Storm,Flink
实时数据存储:HBase,Mysql,Redis
整体架构
实时数据平台整体架构
0 条评论
下一页