知识要点:
什么是大数据
大数据的特点
大数据发展史
为什么使用大数据
大数据生态圈介绍
Hadoop及其发行版
大数据职位介绍
什么是大数据
大数据(Big Data),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
图灵奖得主詹姆士·格雷在2007年提出将科学研究分为四类范式,依次为:
- 实验归纳;
- 模型推演;
- 仿真模拟;
- 数据密集型科学发现;
其中的“数据密集型”,定义了所谓的“科学大数据”。
大数据的特点
Volume 数据量
大数据的特征首先就体现为“大”。随着信息技术的高速发展,数据开始爆发性增长。社交网络(微博、推特、脸书)、移动网络、各种智能工具,服务工具等,都成为数据的来源。淘宝网近4亿的会员每天产生的商品交易数据约20TB;脸书约10亿的用户每天产生的日志数据超过300TB。迫切需要智能的算法、强大的数据处理平台和新的数据处理技术,来统计、分析、预测和实时处理如此大规模的数据。
Velocity 速度
大数据的产生非常迅速,主要通过互联网传输。生活中每个人都离不开互联网,也就是说每天个人每天都在向大数据提供大量的资料。并且这些数据是需要及时处理的,因为花费大量资本去存储作用较小的历史数据是非常不划算的,对于一个平台而言,也许保存的数据只有过去几天或者一个月之内,再远的数据就要及时清理,不然代价太大。基于这种情况,大数据对处理速度有非常严格的要求,服务器中大量的资源都用于处理和计算数据,很多平台都需要做到实时分析。数据无时无刻不在产生,谁的速度更快,谁就有优势。
Variety 多样性
广泛的数据来源,决定了大数据形式的多样性。任何形式的数据都可以产生作用,目前应用最广泛的就是推荐系统,如淘宝,网易云音乐、今日头条等,这些平台都会通过对用户的日志数据进行分析,从而进一步推荐用户喜欢的东西。日志数据是结构化明显的数据,还有一些数据结构化不明显,例如图片、音频、视频等,这些数据因果关系弱,就需要人工对其进行标注。
Value 价值
如果数据没有价值,我们就没有分析的必要。因此,大数据要求我们处理的数据集是有巨大商业价值或社会价值的。阿里巴巴愿意花巨大代价提高推荐系统的准确性,就是在于其推荐系统的准确率的提高,能大大提高平台的交易量,从而具有非常巨大的商业价值。我们在全国部署“天眼”系统,提高大数据技术在天眼系统的分量,就是因为天眼系统分析能力的一小步提升,都能在降低犯罪率、打击犯罪、保障人民群众安全、信用取证等方面都有巨大的社会价值。
大数据发展史
- 1980年,未来学家阿尔文 · 托夫勒首次提到 “大数据”这个词汇。“如若说IBM的主机拉开了信息化革命的大幕,那么‘大数据’才是第三次浪潮的华彩乐章。”
- 2002~2004年,第一轮互联网泡沫刚刚破灭,2个大牛(Mike Cafarella和Doug Cutting)开发了一个开源搜索引擎Nutch。
- 2003年,Google发表著名的论文《GFS》
- 2004年,Goolge发表著名的论文《MapReduce》
- 2004~2005年,Mike Cafarella和Doug Cutting开始基于重构Nutch。在Nutch上开发了一个可工作的MapReduce应用,并将所有主要的Nutch算法移植到使用MapReduce和NDFS(Nutch Distributed File System )来运行。
- 2006年,Doug Cutting加入Yahoo,Yahoo提供一个专门的团队和资源将Hadoop发展成一个可在网络上运行的系统。当系统进入Yahoo了以后,项目逐渐发展并成熟了起来。集群规模也从最开始的几十台机器的规模发展到能支持上千个节点的机器。
- 2006年2月,Apache Hadoop项目正式启动以支持MapReduce和HDFS的独立发展。
- 2007年,百度开始使用Hadoop做离线处理,目前差不多80%的Hadoop集群用作日志处理。
- 2007年,中国移动开始在“大云”研究中使用Hadoop技术,规模超过1000台。
- 2008年,淘宝开始投入研究基于Hadoop的系统——云梯,并将其用于处理相关数据。云梯1的总容量大概为9.3PB,包含了1100台机器,每天处理约18000道作业,扫描500TB数据。
- 2008年1月,Hadoop成为Apache顶级项目。
- 2008年2月,Yahoo宣布其搜索引擎产品部署在一个拥有1万个内核的Hadoop集群上。
- 2008年7月,Hadoop打破1TB数据排序基准测试记录。Yahoo的一个Hadoop集群用209秒完成1TB数据的排序 ,比上一年的纪录保持者保持的297秒快了将近90秒。
- 2009 年3月,Cloudera推出CDH平台,完全由开放源码软件组成。
- 2009年5月,Yahoo的团队使用Hadoop对1TB的数据进行排序只花了62秒时间。
- 2009年7月 ,MapReduce 和HDFS 成为Hadoop项目的独立子项目。
- 2009年7月 ,Avro 和 Chukwa 成为Hadoop新的子项目。
- 2010年5月 ,Avro脱离Hadoop项目,成为Apache顶级项目。
- 2010年5月 ,HBase脱离Hadoop项目,成为Apache顶级项目。
- 2010年9月,Hive( Facebook) 脱离Hadoop,成为Apache顶级项目。
- 2010年9月,Pig脱离Hadoop,成为Apache顶级项目。
-
2011年1月,ZooKeeper 脱离Hadoop,成为Apache顶级项目。
为什么使用大数据
一切,都起源自数据爆炸时代的来临
一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合。
- 产品营销
- 商业先机
- 智能化
大数据生态圈介绍
- Apache Hadoop:是Apache开源组织的一个分布式计算开源框架,提供了一个分布式文件系统子项目(HDFS)和支持MapReduce分布式计算的软件架构。
- Apache Hive:是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
- Apache Pig:是一个基于Hadoop的大规模数据分析工具,它提供的SQL-LIKE语言叫Pig Latin,该语言的编译器会把类SQL的数据分析请求转换为一系列经过优化处理的MapReduce运算。
- Apache HBase:是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。
- Apache Sqoop:是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
- Apache Zookeeper:是一个为分布式应用所设计的分布的、开源的协调服务,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,简化分布式应用协调及其管理的难度,提供高性能的分布式服务。
- Apache Mahout:是基于Hadoop的机器学习和数据挖掘的一个分布式框架。Mahout用MapReduce实现了部分数据挖掘算法,解决了并行挖掘的问题。
- Apache Cassandra:是一套开源分布式NoSQL数据库系统。它最初由Facebook开发,用于储存简单格式数据,集Google BigTable的数据模型与Amazon Dynamo的完全分布式的架构于一身。
- Apache Avro:是一个数据序列化系统,设计用于支持数据密集型,大批量数据交换的应用。Avro是新的数据序列化格式与传输工具,将逐步取代Hadoop原有的IPC机制
- Apache Ambari:是一种基于Web的工具,支持Hadoop集群的供应、管理和监控。
- Apache Chukwa:是一个开源的用于监控大型分布式系统的数据收集系统,它可以将各种各样类型的数据收集成适合 Hadoop 处理的文件保存在 HDFS 中供 Hadoop 进行各种 MapReduce 操作。
- Apache Hama:是一个基于HDFS的BSP(Bulk Synchronous Parallel)并行计算框架, Hama可用于包括图、矩阵和网络算法在内的大规模、大数据计算。
- Apache Flume:是一个分布的、可靠的、高可用的海量日志聚合的系统,可用于日志数据收集,日志数据处理,日志数据传输。
- Apache Giraph:是一个可伸缩的分布式迭代图处理系统, 基于Hadoop平台,灵感来自 BSP (bulk synchronous parallel) 和 Google 的 Pregel。
- Apache Oozie:是一个工作流引擎服务器, 用于管理和协调运行在Hadoop平台上(HDFS、Pig和MapReduce)的任务。
- Apache Crunch:是基于Google的FlumeJava库编写的Java库,用于创建MapReduce程序。与Hive,Pig类似,Crunch提供了用于实现如连接数据、执行聚合和排序记录等常见任务的模式库
- Apache Whirr:是一套运行于云服务的类库(包括Hadoop),可提供高度的互补性。Whirr学支持Amazon EC2和Rackspace的服务。
- Apache Bigtop:是一个对Hadoop及其周边生态进行打包,分发和测试的工具。
- Apache HCatalog:是基于Hadoop的数据表和存储管理,实现中央的元数据和模式管理,跨越Hadoop和RDBMS,利用Pig和Hive提供关系视图。
- Cloudera Hue:是一个基于WEB的监控和管理系统,实现对HDFS,MapReduce/YARN, HBase, Hive, Pig的web化操作和管理。
-
Cloudera Impala:高性能的SQL引擎(提供类似RDBMS的体验),提供了访问存储在Hadoop分布式文件系统中的数据的最快方法。
Hadoop及其发行版
①Apache原生hadoop
Apache社区版本的hadoop是完全开源免费的,非商业发行版。社区活跃性以及文档、资料详实等方面。
但在选择其他如HBase,Hive等组件时就需要考虑兼容性的问题。
②商业发行版
Cloudera(CDH)
Cloudera 于2008年成立,是最早将Hadoop商业化的公司,主要为合作伙伴提供 Hadoop 的商用解决方案。在早期Hadoop的创始人Doug Cutting也任职于 Cloudera 公司。Cloudera的产品为:
CDH:Hadoop发行版,完全开源,比Apache Hadoop在兼容性,安全性稳定性上有增强。
Cloudera Manager:集群的软件分发及管理监控平台,可以在几个小时内部署好一个Hadoop集群,并对集群的节点及服务进行实时监控。
Cloudera Support:Hadoop技术支持。
Hortonwork(HDP)
Hortonworks是雅虎与硅谷风投公司Benchmark Capital合资组建的公司。其主要产品:
Hortonworks Data Platform (HDP):100%开源的产品,HDP除了常见的组件外还包含了,一款开源的安装和管理系统(Ambari)和一个元数据管理系统(HCatalog)。
** 注:Cloudera和Hortonworks于2018年合并。**
MapR
于2009年成立。用新架构重写HDFS,同时在API级别和目前的Hadoop 发行版保持兼容。
EMC Greenplum HD
IBM InfoSphere BigInsights
大数据职位介绍
- 大数据开发工程师:负责大数据平台的开发和维护,熟练使用组件,熟练使用平台监控,进行开发与产品开发等。
- 大数据架构工程师:对大数据平台各构件进行设计、搭建、改进、升级。
- 大数据分析工程师:对大数据进行分析和处理,能熟练使用适当的统计分析方法,对数据进行理解和汇总。
- 大数据运维工程师:故障管理、容量管理、配置管理、问题排查等。
- 大数据算法工程师:数据建模、机器学习、算法实现。
- 大数据数据科学家:利用统计学和机器学习模型方面的专业技术进行商业问题预测的专家。