1.大数据概述

1.(1)HDFS(hadoop分布式文件系统)是hadoop体系中数据存储管理的基础。它是一个高度容错的系统,能检测和应对硬件故障。

(2)mapreduce(分布式计算框架)mapreduce是一种计算模型,用于处理大数据量的计算。其中map对应数据集上的独立元素进行指定的操作,生成键-值对形式中间,reduce则对中间结果中相同的键的所有值进行规约,以得到最终结果。

(3) hive(基于hadoop的数据仓库)由Facebook开源,最初用于解决海量结构化的日志数据统计问题。

hive定于了一种类似sql的查询语言(hql)将sql转化为mapreduce任务在hadoop上执行。

(4)hbase(分布式列存数据库)hbase是一个针对结构化数据的可伸缩,高可靠,高性能,分布式和面向列的动态模式数据库。和传统关系型数据库不同,hbase采用了bigtable的数据模型:增强了稀疏排序映射表(key/value)。其中,键由行关键字,列关键字和时间戳构成,hbase提供了对大规模数据的随机,实时读写访问,同时,hbase中保存的数据可以使用mapreduce来处理,它将数据存储和并行计算完美结合在一起。

(5)zookeeper(分布式协作服务)解决分布式环境下的数据管理问题:统一命名,状态同步,集群管理,配置同步等。

(6)sqoop(数据同步工具)sqoop是sql-to-hadoop的缩写,主要用于传统数据库和hadoop之间传输数据。

(7)pig(基于hadoop的数据流系统)定义了一种数据流语言-pig latin,将脚本转换为mapreduce任务在hadoop上执行。

(8)mahout(数据挖掘算法库)mahout的主要目标是创建一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。mahout现在已经包含了聚类,分类,推荐引擎(协同过滤)和频繁集挖掘等广泛使用的数据挖掘方法。除了算法是,mahout还包含了数据的输入/输出工具,与其他存储系统(如数据库,mongoDB或Cassandra)集成等数据挖掘支持架构。

(9)flume(日志收集工具)cloudera开源的日志收集系统,具有分布式,高可靠,高容错,易于定制和扩展的特点。他将数据从产生,传输,处理并写入目标的路径的过程抽象为数据流,在具体的数据流中,数据源支持在flume中定制数据发送方,从而支持收集各种不同协议数据。

(10)资源管理器(YARN和mesos)随着互联网的高速发展,基于数据 密集型应用 的计算框架不断出现,从支持离线处理的mapreduce,到支持在线处理的storm,从迭代式计算框架到 流式处理框架s4,在大部分互联网公司中,这几种框架可能都会采用,比如对于搜索引擎公司,可能的技术方法如下:网页建索引采用mapreduce框架,自然语言处理/数据挖掘采用spark,对性能要求到的数据挖掘算法用mpi等。公司一般将所有的这些框架部署到一个公共的集群中,让它们共享集群的资源,并对资源进行统一使用。

1.大数据概述

 

 

2.

(1)hadoop优点:

Hadoop 以一种可靠、高效、可伸缩的方式进行数据处理。

可靠性: Hadoop将数据存储在多个备份,Hadoop提供高吞吐量来访问应用程序的数据。

高扩展性: Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。

高效性: Hadoop以并行的方式工作,通过并行处理加快处理速度。

高容错性: Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。

低成本: Hadoop能够部署在低廉的(low-cost)硬件上。

缺点:不能做到低延迟;不适合大量的小文件存储;不适合多用户写入文件、修改文件

(2)spark优点:

计算速度快: 因为spark从磁盘中读取数据,把中间数据放到内存中,,完成所有必须的分析处理,将结果写回集群,所以spark更快。

Spark 提供了大量的库: 包括Spark Core、Spark SQL、Spark Streaming、MLlib、GraphX。

支持多种资源管理器: Spark 支持 Hadoop YARN,及其自带的独立集群管理器

操作简单: 高级 API 剥离了对集群本身的关注,Spark 应用开发者可以专注于应用所要做的计算本身。

 缺点:不够灵活,对待相似的问题和场景都使用同一类解决方案,忽略了数据本身的信息。

3.一方面,由于Hadoop生态系统中的一些组件所实现的功能,目前还是无法由Spark取代的,比如,Storm可以实现毫秒级响应的流计算,但是,Spark则无法做到毫秒级响应。另一方面,企业中已经有许多现有的应用,都是基于现有的Hadoop组件开发的,完全转移到Spark上需要一定的成本。因此,在许多企业实际应用中,Hadoop和Spark的统一部署是一种比较现实合理的选择。由于Hadoop MapReduce、HBase、Storm和Spark等,都可以运行在资源管理框架YARN之上,因此,可以在YARN之上进行统一部署。

1.大数据概述

 

上一篇:浅谈企业级数据中台


下一篇:数据仓库模型说明