初识hadoop与云计算

1.组合的模拟

Hadoop发布者Apache软件基金会对Hadoop的定义:Hadoop的软件库是一个框架,允许在集群(是一组通过网络连接通信和协同工作的计算机,集群中的每一台计算机被称为一个节点,Hadoop部署在集群上)中使用简单的编程模型对大规模数据集进行分布式计算。Hadoop被设计为可以从单一服务器扩展到数以千计的本地计算和存储节点,且Hadoop会在应用层面监测和处理错误,而不依靠硬件的高可用性,所以Hadoop能够在一个每个节点都有可能出错的集群上提供一个高可用服务

Hadoop将文件拆成小块并把他们分发给集群中的节点,它使用打包的代码分发到节点上并行处理数据

2.hadoop设计理念

Hadoop在解决大型数据集的处理和存储问题上,根据以下核心特性构建:

1.分布式:存储和处理分布在一群小电脑上,这些电脑间可相互通信并协同工作

2.水平可伸缩性:只需添加新机器即可扩展hadoop集群,每台新机器都相应增加hadoop集群的总存储和处理能力

3.容错:即使一些硬件或软件不能正常工作,hadoop也能继续运行

4.成本优化:hadoop不需要高端服务器

5.编程抽象:hadoop负责处理与分布式计算相关的所有纷杂细节,有API则用户可专注于实现业务逻辑

6.数据本地化:hadoop不会将大型数据集迁移到程序正在运行的位置,而是在数据所在位置运行应用程序

3.Hadoop生态圈

以hadoop为基础开发的大量工具提供了各种各样的功能,hadoop还出色的集成了许多辅助系统和实用程序,这些组件共同组成hadoop生态系统

1.Hadoop common是Hadoop体系最底层的一个模块,为Hadoop各子项目提供各种工具,如系统配置工具configuration、远程过程调用RPC、序列化机制和日志操作等,是其他模块基础

2.HDFS-Hadoop distributed file system,分布式文件系统是Hadoop基石,是一个具有高容错性、扩展性、高性能的文件系统,适合部署在廉价机器上,HDFS能提供高吞吐量的数据访问,非常适合大数据集上的应用

3.YARN-yet another resource negotiator另一种资源协调器,是集群统一资源管理与调度平台,解决了上一代Hadoop资源利用率低和不能兼容异构的计算框架等多种问题,提供了资源隔离方案和双调度器的实现

4.MapReduce函数式编程模型,Hadoop提供了MapReduce的计算框架实现这种编程模型,用户可通过Java、C++、Python、PHP等多种语言进行编程

5.spark是新一代的计算框架,对迭代运算很有优势,与MapReduce相比性能提升明显,都可以与YRAN进行集成,spark也支持SQL组件sparkSQL

6.Hbase是分布式、面向列族的开源数据库,采用了bigtable的数据模型-列族。擅长大规模数据的随机实时读写访问

在所有的分布式系统中,均需要考虑一致性。Zookeeper作为分布式的服务框架,基于fast paxos算法,解决了分布式系统中存在的一致性问题。Zookeeper提供了配置维护、名字服务、分布式同步、组服务

7.hive是基于Hadoop的数据仓库工具,可以将结构化的数据文件映射成一张表,并提供简单的类SQL查询功能,主要用于对大规模数据的提取转换加载。优点是学习成本低,十分适合大规模数据的统计分析

8.pig也是对大型数据集进行分析和评估的工具,它提供了一种高层的、面向领域的抽象语言:pig Latin,pig也可以将该脚本转化为MapReduce作业,与SQL相比,pig Latin更加灵活,但学习成本较高

9.impala可以对存储在HDFS、Hbase的海量数据提供提供交互式查询语法、ODBC驱动程序和用户界面。Impala还提供了一个熟悉的面向批量或实时查询的统一平台,优点是查询非常迅速,性能大幅领先于Hive(并没有基于MapReduce的计算框架),OLAP定位

10.mahout是一个机器学习和数据挖掘库,利用MapReduce编程模型实现k-means、naive-bayes、collaborative filtering等经典机器学习算法,并具有良好的可扩展性

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

12.sqoop是sql to hadoop的缩写,主要作用在于结构化的数据存储(关系型数据库-MySQL、Oracle等)的数据导入到Hadoop的HDFS、hive(反之也可以)。Sqoop充分利用了Hadoop的优点,整个导入导出都是由MapReduce计算框架实现并行化,非常高效

13.kafka是一种高吞吐量的分布式发布订阅消息系统,它连接了平台里面的各个组件

4.云计算

定义:是一种通过网络方便地接入共享资源池,按需获取计算资源(包括网络、服务器、存储、应用、服务等)的服务模型,共享资源池中的资源可以通过较少的管理代价和简单业务交互过程而快速部署和发布

类型:基础设施即服务IaaS infrastructure as a service;平台即服务(platform as a service PaaS);软件即服务(software as a service)3类

操作数据库系统和数据仓库系统的区别:操作数据库系统的主要任务是执行联机事务和查询处理,这种系统称为联机事务(OLTP)系统,涵盖了大部分的日常操作,如购物、库存、工资等,也被称为业务系统。数据仓库系统在数据分析和决策方面为用户提供服务,这种系统称为联机分析处理(OLAP)系统

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值