大数据入门:各种大数据技术的介绍

大数据我们都知道hadoop,可是还会各种各样的技术进入我们的视野:Spark,Storm,impala,让我们都反映不过来。为了能够更好的架构大数据项目,这里整理一下,供技术人员,项目经理,架构师选择合适的技术,了解大数据各种技术之间的关系,选择合适的语言。
我们可以带着下面问题来阅读本文章:
1.hadoop都包含什么技术
2.Cloudera公司与hadoop的关系是什么,都有什么产品,产品有什么特性
3.Spark与hadoop的关联是什么?
4.Storm与hadoop的关联是什么?






hadoop家族
创始人:Doug Cutting
整个Hadoop家族由以下几个子项目组成:

Hadoop Common:
Hadoop体系最底层的一个模块,为Hadoop各子项目提供各 种工具,如:配置文件和日志操作等。详细可查看
Hadoop技术内幕 深入解析HADOOP COMMON和HDFS架构设计与实现原理大全1-9章

HDFS:

是Hadoop应用程序中主要的分布式储存系统, HDFS集群包含了一个NameNode(主节点),这个节点负责管理所有文件系统的元数据及存储了真实数据的DataNode(数据节点,可以有很多)。HDFS针对海量数据所设计,所以相比传统文件系统在大批量小文件上的优化,HDFS优化的则是对小批量大型文件的访问和存储。下面为详细资料:
什么是HDFS及HDFS架构设计
HDFS+MapReduce+Hive快速入门
Hadoop2.2.0中HDFS为何具有高可用性
Java创建hdfs文件实例

MapReduce:

是一个软件框架,用以轻松编写处理海量(TB级)数据的并行应用程序,以可靠和容错的方式连接大型集群中上万个节点(商用硬件)。
详细可查看:
Hadoop简介(1):什么是Map/Reduce
Hadoop MapReduce基础
MapReduce工作原理讲解
手把手交你写Mapreduce程序实例并部署在Hadoop2.2.0上运行

Hive:

Apache Hive是Hadoop的一个数据仓库系统,促进了数据的综述(将结构化的数据文件映射为一张数据库表)、即席查询以及存储在Hadoop兼容系统中的大型数据集分析。Hive提供完整的SQL查询功能——HiveQL语言,同时当使用这个语言表达一个逻辑变得低效和繁琐时,HiveQL还允许传统的Map/Reduce程序员使用自己定制的Mapper和Reducer。hive类似CloudBase,基于hadoop分布式计算平台上的提供data warehouse的sql功能的一套软件。使得存储在hadoop里面的海量数据 的汇总,即席查询简单化。
详细可查看:
Hive的起源及详细介绍
hive详解视频


Pig:

Apache Pig是一个用于大型数据集分析的平台,它包含了一个用于数据分析应用的高级语言以及评估这些应用的基础设施。Pig应用的闪光特性在于它们的结构经得起大量的并行,也就是说让它们支撑起非常大的数据集。Pig的基础设施层包含了产生Map-Reduce任务的编译器。Pig的语言层当前包含了一个原生语言——Pig Latin,开发的初衷是易于编程和保证可扩展性。
Pig是SQL-like语言,是在MapReduce上构建的一种高级查询语言,把一些运算编译进MapReduce模型的Map和Reduce中,并且用户可以定义自己的功能。Yahoo网格运算部门开发的又一个克隆Google的项目Sawzall。
详细可查看:
pig入门简单操作及语法包括支持数据类型、函数、关键字、操作符等
hadoop家族Pig和Hive有什么不同?



HBase:

Apache HBase是Hadoop数据库,一个分布式、可扩展的大数据存储。它提供了大数据集上随机和实时的读/写访问,并针对了商用服务器集群上的大型表格做出优化——上百亿行,上千万列。其核心是Google Bigtable论文的开源实现,分布式列式存储。就像Bigtable利用GFS(Google File System)提供的分布式数据存储一样,它是Apache Hadoop在HDFS基础上提供的一个类Bigatable。
详细可查看:
hbase与传统数据的区别
HBASE分布式安装视频下载分享

ZooKeeper:

Zookeeper是Google的Chubby一个开源的实现。它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、 分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
详细可查看:
什么是Zookeeper,Zookeeper的作用是什么,在Hadoop及hbase中具体作用是什么

Avro:

Avro是doug cutting主持的RPC项目,有点类似Google的protobuf和Facebook的thrift。avro用来做以后hadoop的RPC,使hadoop的RPC模块通信速度更快、数据结构更紧凑。


Sqoop:
Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库中数据导入Hadoop的HDFS中,也可以将HDFS中数据导入关系型数据库中。
详细可查看:
Sqoop详细介绍包括:sqoop命令,原理,流程

Mahout:

Apache Mahout是个可扩展的机器学习和数据挖掘库,当前Mahout支持主要的4个用例:
推荐挖掘:搜集用户动作并以此给用户推荐可能喜欢的事物。
聚集:收集文件并进行相关文件分组。
分类:从现有的分类文档中学习,寻找文档中的相似特征,并为无标签的文档进行正确的归类。
频繁项集挖掘:将一组项分组,并识别哪些个别项会经常一起出现。


Cassandra:

Apache Cassandra是一个高性能、可线性扩展、高有效性数据库,可以运行在商用硬件或云基础设施上打造完美的任务关键性数据平台。在横跨数据中心的复制中,Cassandra同类最佳,为用户提供更低的延时以及更可靠的灾难备份。通过log-structured update、反规范化和物化视图的强支持以及强大的内置缓存,Cassandra的数据模型提供了方便的二级索引(column indexe)。

Chukwa:

Apache Chukwa是个开源的数据收集系统,用以监视大型分布系统。建立于HDFS和Map/Reduce框架之上,继承了Hadoop的可扩展性和稳定性。Chukwa同样包含了一个灵活和强大的工具包,用以显示、监视和分析结果,以保证数据的使用达到最佳效果。

Ambari:

Apache Ambari是一个基于web的工具,用于配置、管理和监视Apache Hadoop集群,支持Hadoop HDFS,、Hadoop MapReduce、Hive、HCatalog,、HBase、ZooKeeper、Oozie、Pig和Sqoop。Ambari同样还提供了集群状况仪表盘,比如heatmaps和查看MapReduce、Pig、Hive应用程序的能力,以友好的用户界面对它们的性能特性进行诊断。



HCatalog

Apache HCatalog是Hadoop建立数据的映射表和存储管理服务,它包括:
提供一个共享模式和数据类型机制。
提供一个抽象表,这样用户就不需要关注数据存储的方式和地址。
为类似Pig、MapReduce及Hive这些数据处理工具提供互操作性。

------------------------------------------------------------------------------------------------------------------------------------------------

Chukwa:

Chukwa是基于Hadoop的大集群监控系统,由yahoo贡献。


------------------------------------------------------------------------------------------------------------------------------------------------

Cloudera系列产品:
创始组织:Cloudera公司
1.Cloudera Manager:
有四大功能
(1)管理
(2)监控
(3)诊断
(4)集成
Cloudera Manager四大功能

2.Cloudera CDH: 英文名称:CDH (Cloudera's Distribution, including Apache Hadoop)
Cloudera对hadoop做了相应的改变。
Cloudera公司的发行版,我们将该版本称为CDH(Cloudera Distribution Hadoop)。
详细可以查看
Cloudera Hadoop什么是CDH及CDH版本介绍
相关资料
CDH3实战Hadoop(HDFS) , HBase , Zookeeper , Flume , Hive
CDH4安装实践HDFS、HBase、Zookeeper、Hive、Oozie、Sqoop
Hadoop CDH四种安装方式总结及实例指导
hadoop的CDH4及CDH5系列文档下载分享


3.Cloudera Flume
Flume是Cloudera提供的日志收集系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;
Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。


Flume最早是Cloudera提供的日志收集系统,目前是Apache下的一个孵化项目,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力 Flume提供了从console(控制台)、RPC(Thrift-RPC)、text(文件)、tail(UNIX tail)、syslog(syslog日志系统,支持TCP和UDP等2种模式),exec(命令执行)等数据源上收集数据的能力。
Flume采用了多Master的方式。为了保证配置数据的一致性,Flume[1]引入了ZooKeeper,用于保存配置数据,ZooKeeper本身可保证配置数据的一致性和高可用,另外,在配置数据发生变化时,ZooKeeper可以通知Flume Master节点。Flume Master间使用gossip协议同步数据。
详细可查看:
什么是 flume 日志收集,flume的特性
什么是 flume 日志收集,flume的原理是什么,flume会遇到什么问题

4.Cloudera  Impala
Cloudera Impala对你存储在Apache Hadoop在HDFS,HBase的数据提供直接查询互动的SQL。除了像Hive使用相同的统一存储平台,Impala也使用相同的元数据,SQL语法(Hive SQL),ODBC驱动程序和用户界面(Hue Beeswax)。Impala还提供了一个熟悉的面向批量或实时查询和统一平台。
详细可查看:
什么是impala,如何安装使用Impala
5.Cloudera    hue
Hue是cdh专门的一套web管理器,它包括3个部分hue ui,hue server,hue db。hue提供所有的cdh组件的shell界面的接口。你可以在hue编写mr,查看修改hdfs的文件,管理hive的元数据,运行Sqoop,编写Oozie工作流等大量工作。
详细可查看:
cloudera hue安装及Oozie的安装
什么是Oozie?Oozie简介
Cloudera Hue 使用经验分享,遇到的问题及解决方案


------------------------------------------------------------------------------------------------------------------------------------------------

Spark

创始组织:加州大学伯克利分校 AMP 实验室 (Algorithms, Machines, and People Lab) 开发


Spark 是一种与 Hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使 Spark 在某些工作负载方面表现得更加优越,换句话说,Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。

Spark 是在 Scala 语言中实现的,它将 Scala 用作其应用程序框架。与 Hadoop 不同,Spark 和 Scala 能够紧密集成,其中的 Scala 可以像操作本地集合对象一样轻松地操作分布式数据集。

尽管创建 Spark 是为了支持分布式数据集上的迭代作业,但是实际上它是对 Hadoop 的补充,可以在 Hadoo 文件系统中并行运行。通过名为 Mesos 的第三方集群框架可以支持此行为。Spark 由加州大学伯克利分校 AMP 实验室 (Algorithms, Machines, and People Lab) 开发,可用来构建大型的、低延迟的数据分析应用程序。

可以详细了解
科普Spark,Spark是什么,如何使用Spark(1)
科普Spark,Spark核心是什么,如何使用Spark(2)
优酷土豆用Spark完善大数据分析
Hadoop新成员Hadoop-Cloudera公司将Spark加入Hadoop


-----------------------------------------------------------------------------------------------------------------------------------------------

Storm

创始人:Twitter
Twitter将Storm正式开源了,这是一个分布式的、容错的实时计算系统,它被托管在GitHub上,遵循 Eclipse Public License 1.0。Storm是由BackType开发的实时处理系统,BackType现在已在Twitter麾下。GitHub上的最新版本是Storm 0.5.2,基本是用Clojure写的。

详细可以了解:
storm入门介绍
Storm-0.9.0.1安装部署 指导
总体认识storm包括概念,场景,组成
大数据架构师:hadoop、Storm改选哪一个?
大数据架构:flume-ng+Kafka+Storm+HDFS 实时系统组合
数据技术概述 ⼤数据的概念 4V:⼤量化volume、价值密度低value、快速化velocity、多样化variety。⼤量化每两年增长⼀倍,到了2020年,全球就会有35ZB数据 量,Byte->KB->MB->GB->TB->PB->EB->ZB。多样化,结构化数据,保存在关系数据库中,具有规范的⾏和列的结构数据,只占⼈类数据 量10%不到。90%是⾮结构化数据,存储在⾮关系数据库中。快速化,数据有价值必须快速处理,⼀秒定律,数据从⽣成到决策响应仅需 要⼀秒,时间延长不会有商业价值,例如推荐系统。价值密度低,⼤量数据中有价值的⽐较少,但是单点价值⽐较⾼ ⼤数据影响 数据库专家jim gray,⼈类从诞⽣以来,经历了四种研究范式。2010年后,进⼊⼤数据时代以后,是以数据为中⼼的研究范式。第⼀种实 验,⼀开始科研就是做实验观察;第⼆种理论,发明了⽜顿定律、⼏何理论由理论去研究科学问题;第三阶段,⼀九四⼏年计算机开始发明 以后,进⼊以计算为中⼼的时代,靠计算可以帮助我们解决相关的科学问题。以计算为中⼼,事先已经知道问题是什么,以数据为中⼼事先 问题不知,只有⼀堆数据,从⼤量数据中去发现问题,再靠数据去解决问题,全部靠数据去驱动。我们思维⽅式⾃从⼤数据时代到来后,发 ⽣了值的变迁。全样⽽⾮抽样,以前采⽤统计学抽样⽅式(存储设备贵、存储数据少、CPU和技术能⼒不强、⽆法短时间迅速计算),⼤数 据时代有⾜够能⼒存储⾜够算例去计算。效率⽽⾮精确,不苛求精确度,全样数据不存在误差放⼤问题,追求速度。相关⽽⾮因果,追求相 关性,⽐如相关性是推荐系统的核⼼,有相关性⾜够带来商业价值。 ⼤数据的关键技术 数据流程包括数据采集、数据存储与管理、数据处理与分析、数据隐私与安全。⼤数据的关键技术两⼤核⼼,分布式存储和分布式处理,解 决数据存储和数据⾼校计算问题。分布式存储:⾕歌GFS和开源实现HDFS->⾕歌Big Table和开源版本Hase->NoSQL(键值、列族、图 形、⽂档数据库)->NewSQL。分布式处理:MapReduce->Spark->Flink。 ⼤数据计算模式 不同的计算模式需要使⽤不同的产品。第⼀个批处理,MapReduce和Spark⾯向批处理。第⼆个流计算,流数据像溪⽔⼀样不断到达,每 次量可能不⼤,但是会连续不断的到达。流数据要求实时处理,给出实时响应(秒级或毫秒级),否则分析结果会失去商业价值。流计算代 表产品有S4、Storm、Flume、Puma、DStream、银河流数据处理平台。第三种模式是图计算,有些应⽤场景⽐较适合图来建模,⽐如 地理信息系统(快递)、微博微信社交群体,⽹友是点,点赞就建⽴边,会发现哪些⼩朋友圈⽐较紧密。图计算代表软件:Google Pregel、GraphX、Giraph、Hma、PowerGraph、GoldenOrb。第四种场景是查询分析计算,代表产品:Google Dremel、Hive、 Cassandra、Impala。 ⼤数据技术之Hadoop Hadoop⽣态系统图 HDFS存储⾮结构化数据,⾯向批处理,YARN资源调度和管理框架,计算所需要底层内部CPU资源。MapReduce数据的计算。数据仓库 Hive本⾝不保存数据数据保存在底层HDFS,本⾝是编程接⼝,把你写的SQL语句⾃动转换对HDFS查询分析,得到结果。Pig数据流处 理,数据清洗转换。Mahout数据挖掘的算法库,实现常⽤数据挖掘算法(分类、聚类、回归等),调⽤接⼝,传⼊参数,减少⼯作量,针 对海量数据进⾏数据挖掘分析。Ambari⾃动化的安装部署配置管理Hadoop集群的。Zookeeper分布式协作服务,选管家等,专门做分布 式协调⼀致性⼯作。HBase实时性计算,分布式数据库。Flume⽇志采集,Sqoop数据库ETL(抽取、转换、加载),完成Hadoop系统组 件之间的互通,Hadoop系统组件当中数据和关系数据库当中数据之间相互导⼊导出(HDFS数据可以导⼊MySql当中去)。 MapReduce,Map函数和Reduce函数,编程容易,屏蔽底层分布式并⾏编程细节。采⽤分⽽治之思想,并⾮所有任务都可以分⽽治之。 YARN实现⼀个集群多个框架,例如⼀千台机器,同时部署了三个框架(MapReduce、Storm、Impala),会产⽣打架,有三个管家去底 层强CPU资源。如果三个产品只接受⼀个管家,就不会打架。出现了YARN资源调度和管理框架。 ⼤数据技术之Spark Spark架构图 Spark Core:包含Spark的基本功能;尤其是定义RDD的API、操作以及这两者上的动作。其他Spark的库都是构建在RDD和Spark Core 之上的。 Spark SQL:提供通过Apache Hi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值