更新时间: 试题数量: 购买人数: 提供作者:

有效期: 个月

章节介绍: 共有个章节

收藏
搜索
题库预览
大数据处理与分析代表产品 1.MapReduce简介 谷歌在2003-2006年连续发表了3篇很有影响力的文章,分别阐述了GFS、MapReduce和Bigtable的核心思想。其中,MapReduce是谷歌的核心计算模型。MapReduce将复杂的、运行在大规模集群上的并行计算过程高度地抽象为两个函数:Map和Reduce,这两个函数及其核心思想都源自函数式编程语言。 MapReduce的工作流程 大规模数据集的处理包括分布式存储和分布式计算两个核心环节。谷歌用分布式文件系统GFS实现分布式数据存储,用MapReduce实现分布式计算;而Hadoop则使用分布式文件系统HDFS实现分布式数据存储,用Hadoop MapReduce实现分布式计算。MapReduce的输入和输出都需要借助于分布式文件系统进行存储,这些文件被分存储到集群中的多个节点上。 2.Hive简介 Hive是一个基于Hadoop的数据仓库工具,可以对存储在Hadoop文件中的数据集进行数据整理、特殊查询和分析处理。Hive的学习门槛比较低,因为它提供了类似于关系数据库SQL的查询语言——HiveQL。当采用MapReduce作为执行引擎时,Hive可以通过HiveQL语句快速实现简单的MapReduce任务,而不必开发专门的MapReduce应用程序,因而十分适合数据仓库的统计分析。 Hive是一个构建在Hadoop之上的数据仓库工具,Hive在某种程度上可以看作用户编程接口,其本身并不存储和处理数据,而是依赖HDFS来存储数据,依赖MapReduce(或者Tez、Spark)来处理数据。Hive定义了简单的类似SQL的查询语言——HiveQL,它与大部分SQL语法兼容。当采用MapReduce作为执行引擎时,HiveQL语句可以快速实现简单的MapReduce任务,这样用户通过编写HiveQL语句就可以运行MapReduce任务,不必编写复杂的MapReduce应用程序。 其系统架构主要由以下3个模块组成:用户接口模块、驱动模块以及元数据存储模块。 对于Java开发工程师来说,就不必花费大量精力去记忆常见的数据运算与底层的MapReduce Java API的对应关系;对于数据库管理员来说,可以很容易地把原来构建在关系数据库上的应用程序移植到Hadoop平台上。所以说,Hive是一个可以有效、合理、直观地组织和使用数据的分析工具。 3.Impala: 使用MapReduce来完成批量数据处理,而MapReduce是一个面向批处理的非实时计算框架,因此实时性不好,查询延迟较高,不能满足查询的实时交互性。Impala作为开源大数据分析引擎支持实时计算,它提供了与Hive类似的功能,并在性能上比Hive高3~30倍。Impala是由Cloudera开发的查询系统,它提供了SQL语义,能查询存储在Hadoop的HDFS和HBase上的PB量级海量数据,Impala最初是参照Premel系统进行设计的,Dremel系统是Google开发的交互式数据分析系统,可以2~3s分析PB量级的海量数据。所以,Impala也可以实现大数据的快速查询。 4.Spark: 主要特点:运行速度快、容易使用、通用性强、运行模式多样 5.Flink:是一个针对数据和批处理的分布式计算框架,设计思想主要来源于Hadoop、MPP数据库、流计算系统等。Flink主要是由Java代码实现的,目前主要还是依靠开源社区的贡献而发展,Flink所要处理的主要场景是流数据,批数据只是流数据的一个特例而以。Flink可以支持本地的快速迭代计算和一些环形的迭代计算任务。