大数据这么多技术,到底都能用在什么场景里

在大数据开发中会接触到很多的集群,各种各样的技术,那么这些技术如何组合来完成架构呢???
在这里插入图片描述
大数据技术分类:存储、计算、资源管理

最基本的存储技术是HDFS。比如在企业应用中,会把通过各种渠道得到的数据,比如关系数据库的数据、日志数据、应用程序埋点采集的数据、爬虫从外部获取的数据, 统统存储到HDFS上,供后续的统一使用。

HBase作为NoSQL类非关系数据库的代表性产品,从分类上可以划分到存储类别,底层存储也用到了HDFS。HBase的主要用途还是代替关系数据库去存储数据,存储功能很强大,整体架构是基于kv形式存储。

大数据计算框架最早是MapReduce,前面介绍了MapReduce的整体流程特性,还有shuffle的原理,JobInProcess树的原理和JobTracker与TaskTracker之间的通信,心跳的检测,任务的派发与监控等等的知识,MapReduce的编写很复杂,于是我们就会借用Hive或者Spark SQL来间接的实现MapReduce。

MapReduce、Spark、Hive、Spark SQL这些技术主要用来解决**离线大数据计算,**就是针对历史数据进行计算分析。

Storm、Spark Streaming、Flink这类的大数据技术更多针对于实时数据的计算,比如摄像头实时采集的数据、实时的订单数据等,都需要实时计算出数据。

不管是批处理计算还是流处理计算,都需要庞大的计算资源,需要将计算的任务分布到一个大规模的服务器集群上。那么如何管理这些服务器集群的计算资源,如何对一个计算请求进行资源分配,这就是Yarn的主要作用。不管是批处理还是流处理,都可以通过Yarn进行资源管理,运行在一个集群中。

所以在部署中往往很多集群都会公用一个结点,比如DataNode往往也会运行着NodeManager,Worker等等,这些资源统一运行在Yarn的NodeManager容器中,被Yarn管理。

而MapReduce、Spark、Storm、Flink这些批处理或者流处理大数据计算引擎则通过Yarn的调度,运行在NodeManager的容器(container)里面。至于Hive、Spark SQL这些运行在MapReduce或者Spark基础上的大数据仓库引擎,在经过自身的执行引擎将SQL语句解析成MapReduce或者Spark的执行计划以后,一样提交给Yarn去调度执行。

而HBase比较特殊,因为自身大多用在线上数据存储的需求中,通常是OLTP(在线事务管理)系统的一部分,为了保证高可用和资源独占性,一般都是独立部署集群。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值