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