首先,大数据是什么?
咱们先来看看百度百科的定义
大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
为了 对于非软件行业的朋友相对于友好一点,我们换句话来说。
我们每天都会使用支付宝,或者微信支付进行支付操作。在淘宝上购买商品,去商店付款等等。这些都会产生付款金额多少,付款给谁,付款的商品是什么等等的这些信息并且会被记录下来。我们拨打电话,那么就会产生我们和谁产生了通话,是被叫还是主叫,通话多长时间,产生多少通话费用等等信息。在过去,这些信息会过于庞大和具有大量的冗余信息而难以被使用和分析。而现在可以将这些信息进行收集汇总起来,并经过软件工具的整合。而从中分析出新的具有决策力和洞察力的新的,对于我们还未知的信息。就像我们可以从你的淘宝购物信息中分析出你的购物倾向,甚至预测出你将会购买的商品,对于你进行精准的购物营销。对于淘宝购物平台而言,可以通过分析出售货物的信息,进行提前的备货准备。当然这个例子只是最简单浅显的大数据技术的应用。大数据技术可以应用在生活的方方面面。现在仅仅只是大数据时代开始。
如果你想成为一名大数据开发的从业者,或者是想转型做大数据开发的程序猿们,那么你一定一定绕不开hadoop。
围绕着hadoop的标签有很多,大数据,云计算,分布式计算等等。hadoop可靠性高,仅仅只需要几台廉价的PC机便可以组建一个高效的分布式计算集群,价格异常的低廉。毫无疑问这是进行大规模分布式运算的强有力工具。
下面我们简单介绍几种常用的hadoop生态系统中的成员
HDFS:分布式文件管理系统。HDFS是hadoop的核心子系统之一,分布式存储是分布式计算的基础,是分布式计算中数据存储管理的基础,以 流式数据访问模式来存储超大文件,运行于商用硬件集群上,是管理网络中跨多台计算机存储的文件系统。也就是说可以让分开在不同的机器上的文件好像是存储在本地一样。可以很容易的对于文件件进行操作。同事HDFS可以运行于廉价的商用服务器上。它所具有的高容错、高可靠性、高可扩展性、高获得性、高吞吐率等特征为海量数据提供了不怕故障的存储,为超大数据集的应用处理带来了很多便利。
HIVE:hive是hadoop的数据仓库工具,可以将结构化的数据文件映射为一张数据库二维表。并且,最最最重要的是可以使用SQL来进行完整的数据查询功能。这简直是太方便了,就好像在所有的分布式的机器上面装了一个数据库。你所需要的数据都可以使用SQL语句进行查询。hive能够将输入的SQL转化为MapReduce任务然后进行分布式的计算。在庞大的数据量面前,传统的数据库就可能面临着无法忍受的查询时间,而使用hive。效率将会大大的提升。
MapReduce:分布式数据处理模型和执行环境。是处理和计算任务的计算引擎,它可以将任务分为Map(映射)和Reduce(规约)两个部分。简单来说map的过程就是将任务分发至各个节点,而reduce的过程就是将各个节点所计算的结果进行规约汇总,进行结果集的整合。
Spark:Spark同MapReduce一样 是专为大规模数据处理而设计的快速通用的计算引擎,spark本身并没有提供分布式文件系统,因此spark的分析大多依赖于Hadoop的分布式文件系统HDFS,Spark,拥有MapReduce所具有的优点;但不同于MapReduce的是任务输出结果可以保存在内存中,从而不再需要读写HDFS,能够进行实时数据的运算。因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。
以上是最为常用的hadoop生态组成,hadoop和它的儿子们远远不止这些上面只是说明了hadoop入门的基础结构。
笔者也才刚刚进入这个行业接触大数据。总结的不多,希望与君们共同学习,相互勉励!