马上注册,结交更多数据大咖,获取更多知识干货,轻松玩转大数据
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
当下,互联网+、云计算、大数据、O2O、可穿戴智能设备……一个个热词扑面而来。信息技术的变革已经渗透到当今每一个行业和业务职能领域,改变着我们的生活乃至思维方式。 乱花渐欲迷人眼,当我们抛开各种炒作,各种软文,各种轰炸,一层一层剥开这些“洋葱”时,总会发现数据的身影。人们渴望通过海量数据的挖掘和运用,释放出其所蕴含的巨大价值。 据报道,2014年,国家统计局与阿里巴巴、百度在内的17家大数据企业签署大数据战略合作框架协议。在生产资料价格统计、CPI调查、贸经统计、建设领域统计、交通运输统计等领域,广泛利用网上公共平台搜集、整理数据。 大数据绝对算得上是当今技术密集度最高的产业之一,由众多的框架、产品、组件、算法组成,或资深或初创的大小公司活跃其中。各种概念满天飞,初入行的技术人员特容易钻到技术的大海里,摸不清方向。而大数据的使用者,如政府或企业客户,却不知所云,一头雾水。 本文主要从技术的角度,首先介绍一下大数据的产生,再分析一下大数据架构hadoop。最后从大数据技术生态链(采集、存储、计算、分析、可视化)的角度,介绍一下每个环节可用的技术选择。 二、大数据的产生 传统的企业级应用中,数据的存储和计算主要是使用关系型数据库RDBMS,以Oracle、sql server为代表的数据库产品以优秀的事务性、可靠性、安全性,支撑起日常业务处理所对应的频繁的增删改查和报表统计、BI分析。当时数据量较小,运行多年的系统积累的数据可能也就几T。RDBMS运行速度也是有保障的。 随着互联网的兴起,数据规模不断增长,数据格式丰富多彩。竞争的加剧也导致管理者需要做更多的用户研究、提供更好的用户体验。更多的数据需要更大的存储空间。而更高的数据计算量、分析时效性,则需要分布式计算来解决。同时,适当的价格也是重要的因素,比如在以往处理大量数据,可选的方案有IBM的大型机,目前银行系统还有很大一部分在使用大型机上,但价格昂贵。 另外对数据的处理方式也发生了重大变化,传统的RDBMS关注的是数据的变化,即数据的增加、删除和修改。而在大数据时代,数据的作用更多的是分析和挖掘其价值,即一次写入、多次读取(分析)。 时势造英雄。 Google 在 2003 年开始陆续公布了关于 GFS、MapReduce 和 BigTable三篇技术论文,成为大数据发展的重要基石,开启了大数据时代。 三、大数据架构Hadoop Hadoop得以大行其道,乃至成为大数据的代名词,主要得益于以下几点: (1)解决实际问题。Hadoop核心要解决的问题是海量数据的存储和分析,即:如何使用廉价的设备支持高速增长的数据存储,Hadoop设计了分布式文件系统HDFS。如何高效的从海量数据中提取出有价值的信息,Hadoop提出了分布式并行计算架构MapReduce。 (2)成本低 硬件成本:Hadoop是架构在廉价的PC服务器上,无需采购昂贵的专用服务器做支撑。 软件成本:开源产品,只要遵守其协议,可免费使用、自由修改,可控性强。 开发成本:基于开源产品的二次开发,同时有非常活跃的社区讨论,学习和开发成本不高。 (3)成熟的生态圈。国内外IT巨头,如Google、IBM、Intel,国内的BAT等,都投入其中,并且贡献了大量成熟的开源、免费产品,共同推动着大数据技术的发展和应用。 (4)起步早。这也是一个很重要的因素,具有先发优势。 先看一个实际应用案例,感受一下Hadoop的威力。下图是淘宝网实际使用Hadoop的情况: ![]()
我们常去的购物网站的背后就有这位“老黄牛”的耕耘,有所触动吗?下面我们了解一下这个神奇的存在: Hadoop是一个由Apache基金会所开发的分布式计算平台。用户可以使用Hadoop框架提供的各组件开发和运行处理海量数据的应用程序。到现在已超过10年的发展历史。截止到发文时,最新版本是2.7。 ![]()
Hadoop2框架图 Hadoop体系结构图 Hadoop本身是一个庞大的项目家族,其核心成员是HDFS和MapReduce。其它的项目,例如Hive、HBase等都是基于HDFS和MapReduce,是为了解决特定类型的大数据处理问题而提出的子项目。Hadoop的其它子项目还包括Common, Avro, Pig, ZooKeeper, Sqoop, Oozie 等,随着时间的推移一些新的子项目会被加入进来,一些关注度不高的项目会被移除Hadoop家族,不断更新,充满活力。 Hadoop已经发展出了比较完整的大数据生态系统,包括了分布式文件系统HDFS、分布式数据库Hbase、分布式计算架构MapReduce、分布式集群管理和任务调度系统YARN、Common组件等。其中最核心的设计就是HDFS和MapReduce。分别介绍如下: HDFS:提供了一种跨服务器的弹性数据存储系统。一台机器放不下的数据,用多台机器来解决,分而治之。 MapReduce:大规模分布式计算服务。通俗的说就是将任务切分为若干份小任务,并分配到不同的处理节点,由集群的每台服务器来计算,最后把结果合并。因此具有更强的并行处理能力。 YARN:Hadoop2.0的主要变化是将旧版本 MapReduce 中的任务调度和资源管理功能分离,形成一层与任务无关的资源管理层(YARN)。YARN 对下负责物理资源的统一管理,对上可支持批处理、流处理、图计算等不同模型。几乎所有常用的应用程序和框架,比如MapReduce、Storm和Spark等,均可运行在YARN之上。 Hadoop Common: Hadoop的基础库。 Hadoop 还包含了其它一些技术,如Hive、Pig、Hbase 、Sqoop、ZooKeeper等。 Hive:基于MapReduce的数据仓库基础构架。它提供了一系列的工具,用来进行数据提取、转化、加载,实际上是基于MapReduce的一个应用。它提供了类似于SQL的查询语言,通过使用该语言,可以方便地进行数据存储,查询和分析。 Hive将元数据存储在RDBMS中,一般为mysql、Derby。Hive中的所有数据都存储在HDFS中。 Pig:它与Hive有类似之处, 但更简单。目前应用已经很少。 Hbase:一种分布的、可伸缩的、大数据储存库,支持随机、实时读/写访问。将文件建于HDFS上的分布式Key-Value数据库 Sqoop:为高效传输批量数据而设计的一种工具,其用于Apache Hadoop和关系数据库之间的数据传输。 ZooKeeper:分布式应用程序协调服务,用于维护配置信息,命名服务,提供分布式同步,以及提供分组服务。 Oozie是一个工作流调度工具,用于运行MapReduce和Pig 任务工作流,把多个MapReduce作业连接到一起。类似的还有Azkaban,操作比Oozie要简单很多而且非常直观,提供的功能比较简单。 (来源:国研监理咨询)
|