大技术技术框架使用场景

大技术技术框架使用场景,大数据最经典、最主流的一些技术和产品,本文帮你来梳理一下这些技术和产品。

大技术技术框架使用场景

从上面这张图来看大数据技术的分类,我们可以分为存储、计算、资源管理三大类。

存储 – HDFS 应用场景

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

存储 – HBase 应用场景

HBase作为NoSQL类非关系数据库的代表性产品,从分类上可以划分到存储类别,它的底层存储也用到了HDFS。HBase的主要用途是在某些场景下,代替MySQL之类的关系数据库的数据存储访问,利用自己可伸缩的特性,存储比MySQL多得多的数据量。比如滴滴的司机每隔几秒就会将当前的GPS数据上传,而滴滴上的司机数量号称有上千万,每天会产生数百亿的GPS数据,滴滴选择将这样海量的数据存储在HBase中,当订单行程结束的时候,会从HBase读取订单行程期间的GPS轨迹数据,计算路程和车费。

计算 – 离线大数据处理技术

大数据计算框架最早是MapReduce,目前看来,用的最多的是Spark。但从应用角度讲,我们直接编写MapReduce或者Spark程序的机会并不多,通常我们会用Hive或者Spark SQL这样的大数据仓库工具进行大数据分析和计算。

MapReduce、Spark、Hive、Spark SQL这些技术主要用来解决离线大数据的计算,也就是针对历史数据进行计算分析,比如针对一天的历史数据计算,一天的数据是一批数据,所以也叫批处理计算。

计算 – 流处理大数据技术

而Storm、Spark Streaming、Flink这类的大数据技术是针对实时的数据进行计算,比如摄像头实时采集的数据、实时的订单数据等,数据实时流动进来,所以也叫流处理大数据技术。

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

资源管理 – Yarn

所以上面所有这些技术在实际部署的时候,通常会部署在同一个集群中,也就是说,在由很多台服务器组成的服务器集群中,某台服务器可能运行着HDFS的DataNode进程,负责HDFS的数据存储;同时也运行着Yarn的NodeManager,负责计算资源的调度管理;而MapReduce、Spark、Storm、Flink这些批处理或者流处理大数据计算引擎则通过Yarn的调度,运行在NodeManager的容器(container)里面。至于Hive、Spark SQL这些运行在MapReduce或者Spark基础上的大数据仓库引擎,在经过自身的执行引擎将SQL语句解析成MapReduce或者Spark的执行计划以后,一样提交给Yarn去调度执行。

这里相对比较特殊的是HBase,作为一个NoSQL存储系统,HBase的应用场景是满足在线业务数据存储访问需求,通常是OLTP(在线事务处理)系统的一部分,为了保证在线业务的高可用和资源独占性,一般是独立部署自己的集群,和前面的Hadoop大数据集群分离部署。

赞(1)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址