农历(五月初五)
端午节
关于
友情链接
Toggle navigation
Harries Blog™
Build in Public · AI · Indie Hacking
首页
编程技术
Java
软件架构
移动开发
后端
前端
大数据
数据库
算法
人工智能
测试
openclaw
100 Days of AI Programming
代码管理
IT教程
springboot-demo
Java入门教程
bootstrap3
CSS
Apache基础教程
php
ionic 教程
Python
mysql教程
eclipse
Ubuntu VPS系统配置
AngularJS 教程
MongoDB教程
Struts2教程
Redis教程
springcloud-demo
Git教程
Spring教程
openfire参考指南
Java设计模式
Jenkins进阶系列
HBase教程
java-demo
Maven教程
hibernate教程
memcached教程
Docker 教程
Quartz指南
Hive教程
SpringCloud
Ant教程
ANTLR教程
java实例教程
Elastic-Job-Lite
XStream教程
Hazelcast教程
深入浅出MyBatis
ibaties教程
SVN教程
rabittmq教程
solr教程
WebService CXF学习
Hadoop教程
JPA教程
ActiveMQ中文指南
Java内存模型
dubbo教程
python3-demo
Linux入门视频教程
生活感悟
默认分类
博主自留地
一周一本书
一月一个人
openclaw90x
量化交易
Indie Hack Lab
互联网
互联网.出海
互联网.IPO
互联网.产品
运维
Linux
docker
nginx
windows
操作系统
监控软件
tomcat
虚拟化
vmware
自动化
留言板
转载
发表于 2023年04月13日
浏览 (1,711)
评论 (0)
复制
一文看懂大数据生态圈完整知识体系
随着大数据行业的发展,大数据生态圈中相关的技术也在一直迭代进步,作者有幸亲身经历了国内大数据行业从零到一的发展历程,通过本文希望能够帮助大家快速构建大数据生态圈完整知识体系。
目前大数据生态圈中的核心技术总结下来如图1所示,分为以下9类,下面分别介绍。
图1
1. 数据采集技术框架
数据采集也被称为数据同步。
随着互联网、移动互联网、物联网等技术的兴起,产生了海量数据。这些数据散落在各个地方,我们需要将这些数据融合到一起,然后从这些海量数据中计算出一些有价值的内容。此时第一步需要做的是把数据采集过来。数据采集是大数据的基础,没有数据采集,何谈大数据!
数据采集技术框架包括以几种。
Flume、Logstash和FileBeat常用于日志数据实时监控采集,它们之间的细节区别见表1;
Sqoop和Datax常用于关系型数据库离线数据采集,它们之间的细节区别见表2;
Cannal和Maxwell常用于关系型数据库实时数据采集,它们之间的细节区别见表3。
表1
表2
表3
Flume、Logstash和FileBeat的技术选型如图2所示。
图2
Sqoop和Datax之间的技术选型如图3所示。
图3
Cannal和Maxwell之间的技术选型如图4所示。
图4
2. 数据存储技术框架
数据的快速增长推动了技术的发展,涌现出了一批优秀的、支持分布式的存储系统。
数据存储技术框架包括HDFS、HBase、Kudu、Kafka等。
HDFS它可以解决海量数据存储的问题,但是其最大的缺点是不支持单条数据的修改操作,因为它毕竟不是数据库。
HBase是一个基于HDFS的分布式NoSQL数据库。这意味着,HBase可以利用HDFS的海量数据存储能力,并支持修改操作。但HBase并不是关系型数据库,所以它无法支持传统的SQL语法。
Kudu是介于HDFS和HBase之间的技术组件,既支持数据修改,也支持基于SQL的数据分析功能;目前Kudu的定位比较尴尬,属于一个折中的方案,在实际工作中应用有限。
Kafka常用于海量数据的临时缓冲存储,对外提供高吞吐量的读写能力。
3. 分布式资源管理框架
在传统的IT领域中,企业的服务器资源(内存、CPU等)是有限的,也是固定的。但是,服务器的应用场景却是灵活多变的。例如,今天临时上线了一个系统,需要占用几台服务器;过了几天,需要把这个系统下线,把这几台服务器清理出来。
在大数据时代到来之前,服务器资源的变更对应的是系统的上线和下线,这些变动是有限的。
随着大数据时代的到来,临时任务的需求量大增,这些任务往往需要大量的服务器资源。
如果此时还依赖运维人员人工对接服务器资源的变更,显然是不现实的。
因此,分布式资源管理系统应运而生,常见的包括YARN、Kubernetes和Mesos,它们的典型应用领域如图5所示。
图5
4. 数据计算技术框架
数据计算分为离线数据计算和实时数据计算。
(1)离线数据计算
大数据中的离线数据计算引擎经过十几年的发展,到目前为止主要发生了3次大的变更。
MapReduce可以称得上是大数据行业的第一代离线数据计算引擎,主要用于解决大规模数据集的分布式并行计算。MapReduce计算引擎的核心思想是,将计算逻辑抽象成Map和Reduce两个阶段进行处理。
Tez计算引擎在大数据技术生态圈中的存在感较弱,实际工作中很少会单独使用Tez去开发计算程序。
Spark最大的特点就是内存计算:任务执行阶段的中间结果全部被放在内存中,不需要读写磁盘,极大地提高了数据的计算性能。Spark提供了大量高阶函数(也可以称之为算子),可以实现各种复杂逻辑的迭代计算,非常适合应用在海量数据的快速且复杂计算需求中。
(2)实时数据计算
业内最典型的实时数据计算场景是天猫“双十一”的数据大屏。
数据大屏中展现的成交总金额、订单总量等数据指标,都是实时计算出来的。
用户购买商品后,商品的金额就会被实时增加到数据大屏中的成交总金额中。
用于实时数据计算的工具主要有以下3种。
Storm主要用于实现实时数据分布式计算。
Flink属于新一代实时数据分布式计算引擎,其计算性能和生态圈都优于Storm。
Spark中的SparkStreaming组件也可以提供基于秒级别的实时数据分布式计算功能。
Spark Streaming和Storm、Flink之间的区别见表4。
Storm、Spark、Flink 之间的技术选型如图6所示。
图6
目前企业中离线计算主要使用Spark,实时计算主要使用Flink。
5. 数据分析技术框架
数据分析技术框架包括Hive、Impala、Kylin、Clickhouse、Druid、Drois等,它们的典型应用场景如图7所示。
图7
Hive、Impala和Kylin属于典型的离线OLAP数据分析引擎,主要应用在离线数据分析领域,它们之间的区别见表5。
Hive的执行效率一般,但是稳定性极高;
Impala基于内存可以提供优秀的执行效率,但是稳定性一般;
Kylin通过预计算可以提供PB级别数据毫秒级响应。
表5
Clickhouse、Druid和Drois属于典型的实时OLAP数据分析引擎,主要应用在实时数据分析领域,它们之间的区别见表6。
Druid和Doris是可以支持高并发的,ClickHouse的并发能力有限;Druid中的SQL支持是有限的,ClickHouse支持非标准SQL,Doris支持标准SQL,对SQL支持比较好。
Druid和ClickHouse的成熟程度目前相对比较高,Doris处于快速发展阶段。
表6
6. 任务调度技术框架
任务调度技术框架包括Azkaban、Ooize、DolphinScheduler等。
它们适用于普通定时执行的例行化任务,以及包含复杂依赖关系的多级任务进行调度,支持分布式,保证调度系统的性能和稳定性,它们之间的区别见表7。
表7
它们之前的技术选型如图8所示。
图8
7. 大数据底层基础技术框架
大数据底层基础技术框架主要是指Zookeeper。
Zookeepe主要提供常用的基础功能(例如:命名空间、配置服务等),大数据生态圈中的Hadoop(HA)、HBase、Kafka等技术组件的运行都会用到Zookeeper。
8. 数据检索技术框架
随着企业中数据的逐步积累,针对海量数据的统计分析需求会变得越来越多样化:不仅要进行分析,还要实现多条件快速复杂查询。例如,电商网站中的商品搜索功能,以及各种搜索引擎中的信息检索功能,这些功能都属于多条件快速复杂查询的范畴。
在选择全文检索引擎工具时,可以从易用性、扩展性、稳定性、集群运维难度、项目集成程度、社区活跃度这几个方面进行对比。Lucene、Solr和Elasticsearch的对比见表8。
表8
9. 大数据集群安装管理框架
企业如果想从传统的数据处理转型到大数据处理,首先要做就是搭建一个稳定可靠的大数据平台。
一个完整的大数据平台需要包含数据采集、数据存储、数据计算、数据分析、集群监控等功能,这就意味着其中需要包含Flume、Kafka、Haodop、Hive、HBase、Spark、Flink等组件,这些组件需要部署到上百台甚至上千台机器中。
如果依靠运维人员单独安装每一个组件,则工作量比较大,而且需要考虑版本之间的匹配问题及各种冲突问题,并且后期集群维护工作也会给运维人员造成很大的压力。
于是,国外一些厂商就对大数据中的组件进行了封装,提供了一体化的大数据平台,利用它可以快速安装大数据组件。目前业内最常见的是包括CDH、HDP、CDP等。
HDP:全称是 Hortonworks Data Platform。它由 Hortonworks 公司基于 Apache Hadoop 进行了封装,借助于 Ambari 工具提供界面化安装和管理,并且集成了大数据中的常见组件, 可以提供一站式集群管理。HDP 属于开源版免费大数据平台,没有提供商业化服务;
CDH:全称是 Cloudera Distribution Including Apache Hadoop。它由 Cloudera 公司基于 Apache Hadoop 进行了商业化,借助于 Cloudera Manager 工具提供界面化安装和管理,并且集成了大数据中的常见组件,可以提供一站式集群管理。CDH 属于商业化收费大 数据平台,默认可以试用 30 天。之后,如果想继续使用高级功能及商业化服务,则需要付费购买授权,如果只使用基础功能,则可以继续免费使用;
CDP:Cloudera 公司在 2018 年 10 月份收购了 Hortonworks,之后推出了新一代的大数据平台产品 CDP(Cloudera Data Center)。CDP 的版本号延续了之前 CDH 的版本号。从 7.0 版本开始, CDP 支持 Private Cloud(私有云)和 Hybrid Cloud(混合云)。CDP 将 HDP 和 CDH 中比较优秀的组件进行了整合,并且增加了一些新的组件。
三者的关系如图9所示。
图9
以上内容出自于《大数据技术及架构图解实战派》一书,欢迎阅读此书了解更多相关内容!
正文到此结束
赞 0
赏
分享
所属分类:
大数据
本文标签:
技术框架
数据检索
数据计算
druid
Clickhouse
分布式资源管理
大数据
Kylin
数据存储
zookeeper
Impala
数据采集
数据分析
版权声明:
本文为互联网转载文章,出处已在文章中说明(部分除外)。如果侵权,请联系本站长删除,谢谢。
本文海报:
生成海报一
生成海报二
上一篇
Apache Doris 整合 FLINK CDC + Iceberg 构建实时湖仓一体的联邦查询
下一篇
ChatGPT 的基本功:13 种 Prompt 用法
热门推荐
配置虚拟站点
浏览(11,524)
评论(20)
修改上传文件权限
浏览(12,901)
评论(18)
VPS 自我监控
浏览(11,712)
评论(23)
OpenVZ VPS 额外支持
浏览(11,777)
评论(17)
openfire数据库安装指南
浏览(21,129)
评论(0)
openfire协议支持指南
浏览(10,675)
评论(18)
openfire定制指南
浏览(12,784)
评论(17)
Caffe 深度学习框架上手教程
浏览(16,867)
评论(0)
ReactiveCocoa入门教程:第一部分
浏览(17,687)
评论(0)
开源HIDS-OSSEC使用实例:监测CC攻击
浏览(17,530)
评论(0)
相关文章
Directed Acyclic Graph (DAG)
波克城市:从Impala到StarRocks,让游戏分析焕发新活力
SeaTunnel StarRocks 连接器的使用及原理介绍
StarRocks数据分布
StarRocks的四种数据模型
StarRocks支持的函数列表
StarRocks 通过导入实现数据变更
Jet engine lives on in Hazelcast 5.x
通过导入实现数据变更
基于seatunnel-engine快速开始任务
说给你听
本文目录
随机标签
进程数
DirectSchedulerFactory
lib
metagpt
JAVA8
微商营销
全球货币超发
Picocli
RocketMQ
用户
MapReduce
gzexe
TypeScript
HashTable
清醒思考的艺术
goaccess
特产
Log4j
feign-hystrix
DataX
circular reference
OpenStack
验证需求
浏览量
CopyOnWriteArrayList
价值放大
Gzip
dubbo
GPT-3
雾霾
OAuth App
二套房
_Jackson
GPT-Image-2
物联网
Zach Filkins
$in
IT技术
Hystrix
任务调度
Introspector
Chrome
深度学习
树莓派
北京创繁科技有限公司
tar
三阶段提交
rsync
GitBook
软件
标签5
书籍教程
springboot-demo
Java入门教程
bootstrap3
CSS
Apache基础教程
php
ionic 教程
Python
mysql教程
eclipse
Ubuntu VPS系统配置
AngularJS 教程
MongoDB教程
Struts2教程
Redis教程
springcloud-demo
Git教程
Spring教程
openfire参考指南
Java设计模式
Jenkins进阶系列
HBase教程
java-demo
Maven教程
hibernate教程
memcached教程
Docker 教程
Quartz指南
Hive教程
SpringCloud
Ant教程
ANTLR教程
java实例教程
Elastic-Job-Lite
XStream教程
Hazelcast教程
深入浅出MyBatis
ibaties教程
SVN教程
rabittmq教程
solr教程
WebService CXF学习
Hadoop教程
JPA教程
ActiveMQ中文指南
Java内存模型
dubbo教程
python3-demo
Linux入门视频教程
近期评论
harries 开发完毕,订阅地址:https://www.harries.blog/feed
harries 好的,这2天1我开发一下
匿名 虽然已经是22世纪了,但是能否加一个RSS功能?
william ws0132613@gmail.comhttps://getmacos.com/gopanel/william smith
Harrries 谢谢
vzxcv https://www.newcmy.com/register?aff=HBVX建议您试试草莓云机场,可以流畅观看youtube和tiktok,上reddit/x也没有问题,还有各种ai优化节点。
admin 出现OpenClaw "device signature expired"。the Gateway rejects if Math.abs(Date.now() - signedAt) > 10 * 60 * 1000 (10 minutes)
admin sudo apt updatesudo apt install postgresql-17 postgresql-contrib-17 -y
匿名 想购买您这个站,我的联系方式QQ741756694微信同步 能卖联系
Harrries 目前MCP 工具上并没有ssl设置,可以修改server.py手工禁用ssl
随机文章
站长推荐
近期文章
1
VS 2015的RTM版本将于下月20日发布
2
个人网站完成的感想
3
系统设计——权限系统
4
[iOS]关于视频方向的若干问题
5
实用:公有云使用常见问题解答
6
RACSignal的Subscription深入分析
7
Eclipse Mars 支持全新的 Docker 工具
8
动态Shellcode注入工具 – Shellter
9
深入浅出ES6(三):生成器 Generators
10
关于Cloud Native架构与Matt Stine的一次对话
1
VPS 自我监控
2
springboot接入多个ES启动时候自检报错
3
配置虚拟站点
4
openfire协议支持指南
5
修改上传文件权限
6
OpenVZ VPS 额外支持
7
2015年北京下第一场雪留念
8
openfire定制指南
9
mysql存储过程实例一:游标的使用
10
Linux删除或者新增SWAP分区
1
Browser Tool:网页打开、点击、输入、截图和验证
2
第一次写 PRD 应该怎么写
3
Shell Tool:命令执行、输出读取和长任务管理
4
为什么产品越简单越赚钱
5
手写一个最小 Agent
6
如何砍掉80%的功能
7
Browser、Shell、Canvas 原理
8
MVP 到底是什么
9
模型降级、重试和错误处理策略
10
最近值得关注的10个方向
网站信息
文章总数:80,306 篇
文件总数:211,248 个
标签总数:2,611 个
分类总数:92 个
留言数量:2,601 条
在线人数:50 人
运行天数:4,982天
最后更新:2026年06月18日10点
×
输入密码查看文章详情
确定
×
搜索文章
搜索
热门搜索:
Java
Springboot
Linux
Maven
Bootstrap
阿里云
×
评论信息框
可以通过QQ号实时获取昵称和头像
昵称
邮箱
网址
提交评论
×
山无棱江水为竭,冬雷震震夏雨雪,才敢请君舍
支付宝
微信
转账时请备注"博客赞助"
Loading...
其他链接
订阅本站
域名出售
网站地图
关于本站
友情链接
免责声明
关于本站
本站定位:个人技术类博客
本站作用:写博客、记日志、闲聊扯淡鼓捣技术。
问题交流
Copyright©2026 · Harries Blog™

