Hadoop

一、介绍Hadoop生态圈相关组件

核心组件有:Hdfs、Yarn、MapReduce;
广义上指一个生态圈,泛指大数据技术相关的开源组件或产品,如hdfs、yarn、hbase、hive、spark、pig、zookeeper、kafka、flume、phoenix、sqoop。

4194511f86874fafb32f3e3388e4be79.png

0b7e0a06d41b472cae0e16f41ddc5813.png 

 

二、详细介绍MapReduce的特点及运行架构

MapReduce特点
适合数据复杂度运算
不适合算法复杂度的运算
不适合实时计算、流式计算、DAG有向图计算
综上,要求算法足够简单,数据可以足够大

MapReduce架构

4e1eb945086b4e2f81116ba1b2f7c520.png执行流程
MapReduce包含四个组成部分
Client
JobTracker
TaskTracker
Task
Map算法Reduce数据
从HDFS出来Split[0,1,……],用getsplit()分片。Split数量决定MapTask数量,即MapTask数量无法自己决定。
Map主要就是用来对数据进行切分。

4ed7ce7986c442b7bc4dd60f7779afa9.png

 

Map流程
Inputformat:首先将 HDFS 中的数据以 Split 方式作为 MapReduce 的输入
Mapper:每个Mapper 将输入(key,value)数据解析成输出(key,value)
Partition:根据key或value及reduce的数量来决定当前的这对输出数据最终应该交由哪个reduce task处理( Partitioner接口,默认自动完成,可定制)
Combine:缓存溢写时完成,如果有很多个相同key/value对需要发送到某个reduce端去,那么需要将这些key/value值拼接到一块,减少与partition相关的索引记录(reducer接口,默认自动完成,可定制)
Merge:溢写文件合并,同时再次执行Combiner(默认自动完成)

fc158b6af8fb48b1b03e55bb5a6ca614.png

Reduce流程
Copy:简单地拉取数据
Merge:同map Merge,文件合并
Reducer:每个Reducer将输入(key,value)数据解析成输出(key,value)
把结果放到HDFS上

4f9aab6b476f4f528393fb8f2726ec18.png

 

三详细介绍spark 的特点,并与MapReduce做对比说明区别

1.快速
逻辑回归算法一般需要多次迭代。分别使用Hadoop MapReduce和 Spark运行逻辑回归算法,Spark的运行速是Hadoop MapReduce运行速度的100多倍,如图 1-2所示。一般情况下,对于迭代次数较多的应用程序,Spark在内存中的运行速度是HadoopMapReduce运行速度的 100多倍,Spark在磁盘上的运行速度是Hadoop MapReduce运行速度的10多倍。
Spark 与 Hadoop MapReduce的运行速度差异较大的原因是,Spark的中间数据存放于内存中,有更高的迭代运算效率,而HadoopMapReduce每次迭代的中间数据存放于HDFS中,涉及硬盘的读写,运算效率相对较低。fdc1fc36aa244f46916aabb11604b454.png

2.易用
Spark 支持使用 Scala、Python、Java、R等语言快速编写应用。此外,Spark 提供超过80个高阶算子,使得编写并行应用程序变得容易。并且Spark 提供Scala、Python和R等语言的交互模式界面,使得Spark编程的学习更加简便。
3.通用
Spark可以与SQL语句、实时计算及其他复杂的分析计算进行良好的结合。Spark框架包含多个紧密集成的组件,包括Spark SQL(即席查询)、Spark Streaming(实时流处理)、 Spark MLlib(机器学习库)、Spark GraphX(图计算),如图1-3所示,并且Spark支持在一个应用中同时使用这些组件。相较于Hadoop的MapReduce框架,Spark无论在性能还是在方案统一性等方面,都有着极大的优势。Spark全栈统一的解决方案非常具有吸引力,可极大地减少平台部署、开发和维护的人力和物力成本。48c22984edbb48949877c95be7e1659b.png

4.随处运行
用户可以使用Spark的独立集群模式运行Spark,也可以在亚马逊弹性计算云(Amazon Elastic Compute Cloud,Amazon EC2)、Hadoop YARN资源管理器或Apache Mesos上运行 Spark.Spark作为一个分布式计算框架,本身并没有存储功能,但是Spark可以从HDFS、 Cassandn、HBase、Hive、Alluxio (Tachyon)等数据源中读取数据。
5.代码简洁
Spark 支持使用 Scala、Python等语言编写代码。Scala和Python的代码相对Java的代码而言比较简洁,因此,在Spark中一般都使用Scalu 或Python编写应用程序,这也比在 MapReduce中编写应用程序简单方便。例如,MapReduce实现单词计数可能需要60多行代码,而Spark 使用 Scala 语言实现只需要一行,如代码1-1所示。71164cbbde7b4b5fb4f4871b92a7badb.png

 

四、熟练掌握Linux操作命令并演示说明

8006c8a5674143b89cb466e51e3bf286.png

b413e0f71cff42a3b31febe843a515a6.png 

81dfb98a443e4201b019b9a6d610ae2e.png 

04835a6a89794c9ab25616485b671203.png 

26215a12171c4fde9df03d383729c30b.png 

 

五、冷备温备热备 

冷备:读写操作均不可进行

温备:读操作可执行;但写操作不可执行

热备:读写操作均可执行

MyISAM:温备,不支持热备

InnoDB:都支持

物理和逻辑备份

物理备份:直接复制数据文件进行备份,与存储引擎有关,占用较多的空间,速度快

逻辑备份:从数据库中“导出”数据另存而进行的备份,与存储引擎无关,占用空间少,速度慢,可能丢失精度

备份时需要考虑的因素

温备的持锁多久

备份产生的负载

备份过程的时长

恢复过程的时长

备份什么数据

 

六、数据类型(举例说明)

int、long、short、unsigned、char、float、double、signed、_Bool、_Complex和_Imaginary

bfbe9ed1a4804d66aaa6ec0f3756cc85.png

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 18
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值