大数据的四个核心问题

学习大数据不可避免地会用到Hadoop、Hive、Spark等内容,也很有必要去归类、整理和比较它们之间的异同与关系。无论是Hadoop还是Spark或是其他大数据处理工具,归根结底还是要面向大数据的四个核心问题。

1.数据的存储(big data storage),海量数据需要处理和分析,但前提是要进行有效的存储。稍后会提到Hadoop(HDFS)分布式文件系统对超大数据集的容错性问题。

2.数据的计算(Data calculation),在数据有效存储的基础上,对数据的统计和分析本质上就是数据的计算。在大数据领域常见的计算工具有MapReduce、Spark等。

3.数据的查询(consensus data),对大数据进行有效管理的核心指标是数据查询技术。其中NoSQL (Not Only SQL)应用较为广泛,能较有效解决数据的随机查询,其中就主要包括Hbase等。从本质而言,依旧是Hadoop模式下的数据查询。

4.数据的挖掘(Data mining),数据仓库为数据的挖掘提供了基础,通过分类、预测、相关性分析来建立模型进行模式识别机器学习从而构建专家系统。

以上这四点就是Hadoop、Hive、Spark共同完成的目标。Hadoop从本质上讲是一个分布式文件系统(HDFS),首先可以用来海量的数据存储,而其中的MapReduce负责数据的计算,这就使得Hadoop成为对海量数据进行处理的分布式框架。Hadoop的诞生突破了传统数据文件系统的单机模式。HDFS使得数据可以跨越不同的机器与设备,并且用一个路径去管理不同平台上的数据,这样一来,不同的设备就好比小提琴、大提琴、单簧管、小号、横笛、钢琴等乐器合奏出一首交响曲。

      演奏交响曲需要有作曲和指挥,在大数据处理上,解决好存储问题,接下来就是要计算了。在处理不同类型的数据时,需要对不同的数据资源进行分配,从而就产生了不同设备之间数据交换与通信问题,MapReduce就是面向这些问题的计算引擎。MapReduce是第一代,而Spark是第二代。MapReduce的计算模型分为Map和Reduce两个过程。在日常经验里,我们统计数据需要分类,分类越细、参与统计的人数越多,计算的时间就越短,这就是Map的形象比喻,在大数据计算中,成百上千台机器同时读取目标文件的各个部分然后对每个部分的统计量进行计算,Map就是负责这一工作的;而Reduce就是对分类计数之后的合计,是大数据计算的第二阶段。可见,数据的计算过程就是在HDFS基础上进行分类汇总。

       第一代的MapReduce已经得到了广泛的应用,但其缺点也是明显的,那就是体量大、操作繁琐。于是就诞生了Spark这样以数据计算为主的大数据处理集群。从本质上讲,依旧是对Map+Reduce模型的改进,使得Map和Reduce的界限划分不再那么清楚,方便数据交换和磁盘读写,进一步扩展数据处理量,从本质上讲还是对算法的优化。Spark基于Scala语言,对数据的负载能力更强。

       下面再说说什么是Hive。Hive是数据仓库工具,首先它是建立在HDFS基础之上的,数据也存储在HDFS上,可以说Hive是Hadoop中的一个组件;作为一个数据仓库,将HDFS中结构化的数据映射为数据库中的表,这样的话,就省去了程序员为MapReduce编写程序的繁琐过程,提高了工作效率,仅仅通过SQL语句就可以查询MapReduce的计算结果,同时还可以通过SQL对文件系统中的数据进行修改。这样,无论是用户还是开发者就可以不用再考虑MapReduce中复杂的逻辑关系。当若干行Java代码被一两行SQL语句所取代,Hive的价值就体现出来了。

转载于:https://baijiahao.baidu.com/s?id=1593443824685299543&wfr=spider&for=pc

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值