1.小文件合并:如果文件有一定的规律或者是在同一个文件夹下,可以采用获取文件夹下所有的文件,通过流进行合并,然后再存到hdfs上。

2.mapreduce的优点:1.离线计算、2.高容错性,一个节点挂了可以将计算转移到另一个节点、3.易扩展,廉价机器随便加。缺点就是做不到实时计算。

3.链接mapreduce有三种方式:迭代式,就是上一个的输出数据为下一个的输入数据,依赖式,一个mapreduce可能依赖于多个mapreduce,线性式,可以链接过多个mapper,一个mapreduce可以有多个mapper,但是只能有一个reduce。

4.Hadoop文件压缩能否支持分片的原理:

在考虑如何压缩那些将由MapReduce处理的数据时,考虑压缩格式是否支持分割是很重要的。考虑存储在HDFS中的未压缩的文件,其大小为1GB,HDFS的块大小为64MB,所以该文件将被存储为16块,将此文件用作输入的MapReduce作业会创建1个输人分片(split ,也称为“分块”。对于block,我们统一称为“块”。)每个分片都被作为一个独立map任务的输入单独进行处理。

现在假设。该文件是一个gzip格式的压缩文件,压缩后的大小为1GB。和前面一样,HDFS将此文件存储为16块。然而,针对每一块创建一个分块是没有用的,因为不可能从gzip数据流中的任意点开始读取,map任务也不可能独立于其他分块只读取一个分块中的数据。gzip格式使用DEFLATE来存储压缩过的数据,DEFLATE将数据作为一系列压缩过的块进行存储。问题是,每块的开始没有指定用户在数据流中任意点定位到下一个块的起始位置,而是其自身与数据流同步。因此,gzip不支持分割(块)机制。

在这种情况下,MapReduce不分割gzip格式的文件,因为它知道输入是gzip压缩格式的(通过文件扩展名得知),而gzip压缩机制不支持分割机制。这样是以牺牲本地化为代价:一个map任务将处理16个HDFS块。大都不是map的本地数据。与此同时,因为map任务少,所以作业分割的粒度不够细,从而导致运行时间变长。

在我们假设的例子中,如果是一个LZO格式的文件,我们会碰到同样的问题,因为基本压缩格式不为reader提供方法使其与流同步。但是,bzip2格式的压缩文件确实提供了块与块之间的同步标记(一个48位的PI近似值),因此它支持分割机制。

5.Hadoop压缩方式比较:gzip:高压缩率和压缩速度,缺点是不支持split,就是说不支持分片,文件压缩后小于130m的可以考虑;lzo:高压缩率和压缩速度,支持split,但需要自行安装,文件压缩后大于200m的可以考虑,文件越大,优势越明显。snappy:高压缩率和压缩速度,支持split,但需要自行安装,适用mapper或者任务输出压缩;bzip2:需要高压缩率且不要求压缩时间的可以考虑。

Hadoop知识点的更多相关文章

  1. hadoop知识点总结

    (一).hadoop的内置数据类型都实现了writablecompareable,以便序列化和网络传输及文件存储 a自定义数据类型作为输入 1.实现writable接口 2.如果给数据需要比较大小时, ...

  2. hadoop 知识点

    HDFS 命令 命令 说明 fsck 检查文件的完整性 start-balancer.sh 重新平衡HDFS hdfs dfs -copyFromLocal 从本地磁盘复制文件到HDFS hadoop ...

  3. hadoop 知识点总结

    关于元数据的checkpoint 每隔一段时间,会由secondary namenode将namenode上积累的所有edits和一个最新的fsimage下载到本地,并加载到内存进行merge(这个过 ...

  4. hadoop知识点总结(三)YARN设计理念及基本架构

    YARN设计理念与基本架构 1,MRv1的局限性:扩展性差,可靠性差,资源利用率低,无法支持多种计算框架 2,YARN基本设计思想 1)基本框架对比 Hadoop1.0中,JobTracker由资源管 ...

  5. hadoop知识点总结(二)hdfs分布式文件系统

    1, hdfs设计:减少硬件错误的危害,流式数据访问,大规模数据集,简单的一致性模型 2,特点: 1)移动计算的代价比移动数据的代价低 在异构的软硬件平台间的可移植性 2)局限性 不适合低延迟性数据访 ...

  6. hadoop知识点总结(一)hadoop架构以及mapreduce工作机制

    1,为什么需要hadoop 数据分析者面临的问题 数据日趋庞大,读写都出现性能瓶颈: 用户的应用和分析结果,对实时性和响应时间要求越来越高: 使用的模型越来越复杂,计算量指数级上升. 期待的解决方案 ...

  7. 我要进大厂之大数据Hadoop HDFS知识点(1)

    01 我们一起学大数据 老刘今天开始了大数据Hadoop知识点的复习,Hadoop包含三个模块,这次先分享出Hadoop中的HDFS模块的基础知识点,也算是对今天复习的内容进行一次总结,希望能够给想学 ...

  8. Hadoop运行原理总结(详细)

    本编随笔是小编个人参照个人的笔记.官方文档以及网上的资料等后对HDFS的概念以及运行原理进行系统性地归纳,说起来真的惭愧呀,自学了很长一段时间也没有对Hadoop知识点进行归纳,有时候在实战中或者与别 ...

  9. Hadoop知识总结

    ------------恢复内容开始------------ Hadoop知识点 Hadoop知识点什么是HadoopHadoop和Spark差异Hadoop常见版本,有哪些特点,一般是如何进行选择H ...

随机推荐

  1. cdnbest如何检查https证书是否有效

    注意: 用此方法检查ssl证书是否有效,此帐号下必须有有效的cdn节点,因为这个证书是要通过底层的cdn节点来检测的 1. 在站点设置中如下图点打开添加ssl证书 2.加完证书后点检查,打勾就表示证书 ...

  2. meta标签的使用

    meta标签是html标记head区的一个关键标签,它位于HTML文档的<head>和<title>之间(有些也不是在<head>和<title>之间) ...

  3. 判断python字典中key是否存在

  4. JMeter快速入门之Badboy录制

    1. 前言 JMeter录制有两种方式,一种是JMeter自带录制方法,另一种是下面要学习的Badboy录制,个人推荐使用此方法 下面教程不设计Badboy安装,可以百度一下. 2. 录制步骤: 2. ...

  5. stable

    stable - 必应词典 美['steɪb(ə)l]英['steɪb(ə)l] n.马厩:马房:(养马作特定用途的)养马场 adj.稳定的:稳固的:牢固的:稳重的 v.使(马)入厩:把(马)拴在马厩 ...

  6. stm32GPIO的8种工作模式

    推挽输出:可以输出高.低电平,连接数字器件:推挽结构一般是指两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一个截止.高低电平由IC的电源决定. 推挽电路是两个参数相同的三极管或MOS ...

  7. mysql垂直分区和水平分区

    数据库扩展大概分为以下几个步骤: 1.读写分离:当数据库访问量还不是很大的时候,我们可以适当增加服务器,数据库主从复制的方式将读写分离: 2.垂直分区:当写入操作一旦增加的时候,那么主从数据库将花更多 ...

  8. python脚本linux上后台执行

    1.脚本后加& 加了&以后可以使脚本在后台运行,这样的话你就可以继续工作了.但是有一个问题就是你关闭终端连接后,脚本会停止运行 python3 run.py >/dev/null ...

  9. java_12多态

    1多态概述 多态是继封装.继承之后,面向对象的第三大特性. 现实事物经常会体现出多种形态,如学生,学生是人的一种,则一个具体的同学张三既是学生也是人,即出现两种形态. Java作为面向对象的语言,同样 ...

  10. Java08-java语法基础(七)构造方法

    Java08-java语法基础(七)构造方法 一.构造方法 1.什么是构造方法? 构造方法(类方法)是一个方法名和类名相容的特殊的成员方法. 2.构造方法的作用? 当使用new关键字创建一个对象时,为 ...