Hadoop专有名词

一. HDFS

二. MapReduce

1.MRAppMaster:MapReduce Application Master 负责整个过程调度和协调的

2.MapTask:在Map阶段:负责Map阶段整个数据处理流程

3.ReduceTask:在Reduce阶段:负责Reduce阶段整个数据处理流程

4.Job:LocalJobRuuner  YarnRunner

5.数据切片:splits:逻辑概念 hdfs:block对文件的切块

6.Inputformat:默认的InputFormat-->FileInputFormat-->TextInputFormat《LongWritable,Text》

7.RecordReader:经过RecordReader处理之后形成的是<K,V>

8.LocalJobRunner:

三. 疑问点

1.“整个数据处理流程”

2.MapTask、ReduceTask运行顺序

(1)所有的MapTask运行结束之后会运行ReduceTask

3.一个程序中MapTask的数量是多少?跟什么有关系?

(1)跟切片splits个数有关系,有多少个splits切片就有多少个mapTask

(2)splits大小---》默认跟blockSize一样大(前提条件:1.HDFS上 2.没有手动设置过minSize、MaxSize)

(3)如果一个文件的剩余大小除以splitSize不大于1.1的话,他们会被作为一个切片。

4.一个程序中ReduceTask的数量是多少?跟什么有关系?

(1)根据客户指定的参数,如果没有指定,默认是1.

5.进入到ReduceTask以后“待处理数据”指的是什么数据?

(1)MapTask处理完后溢写到磁盘上面的数据

(2)ReduceTask应该将结果存放到HDFS,保证数据可靠存储。

6.在MapTask阶段会把处理结果溢写到磁盘中?

(1)所谓的溢写到磁盘是指datanode的本地磁盘。如果放到HDFS中会根据副本策略增加多个副本。

7.运行程序后发现的现象:

(1)文件路径:可以是HDFS上的,也可以是本地的。

(2)在eclipse中直接运行程序发现执行Job的都是LocalJobRunner

(3)打成Jar包放在集群上运行,文件路径必须是HDFS路径。

(4)文件内容最终会有序排列:什么阶段做了有序处理?

(5)Hadoop jar hadoop-mapreduce-examples.jar wordcount

9.一个MapReduce程序中能否只有Map?

10.设置输出文件中Key和Value的分割符:configuration.set("mapred.textoutputformat.separator", ";");

11.修改分区并且按照分区写入到不同文件中操作步骤:

(1)自定义类继承自HashPartitioner<MapOutKey,MapOutValue>,重写getPartition方法。按照需求,返回不同的分区。

(2)显式在Job中设置PartitionerClass为自定义类

(3)显式在Job中设置numReduceTasks(分区总个数)

①如果不显式设置,默认为1.那么所有的分区内容存在于一个文件中。

②如果显式设置的分区总个数值大于实际分区总个数,会形成多个空文件。

③如果显式设置的分区总个数值小于实际分区总个数并且不等于1,会抛出异常。

12.在一个Job中,输入文件路径下有多个不同格式的文件需要处理,该如何解决?

(1)3个文件:每一个文件1splits, Map《KeyIN,ValueIn,KeyOut,ObjectWritable》、reduce

①Order订单

②Product产品

ObjectWritable

If()

Ordedr

Product

Hadoop专有名词的更多相关文章

  1. AOP及专有名词通俗解答

    AOP面向切面编程,是一种编程思想,并不是Spring专有,Spring是封装代理模式完成,之前的博客中也写到了关于AOP的文章,Filter和代理,请见<以此之长,补彼之短----AOP(Fi ...

  2. hadoop各个名词的理解

    Hadoop家族的各个成员 hadoop这个词已经流行好多年了,一提到大数据就会想到hadoop,那么hadoop的作用是什么呢? 官方定义:hadoop是一个开发和运行处理大规模数据的软件平台.核心 ...

  3. 专业术语/Java专有名词

    微服务 Web Service WebAPI(MicroSoft) RESTful RPC 微服务 服务拆分,利用轻量化机制(通常为HTTP源API)实现通信,复杂度可控,独立部署,技术选型灵活,容错 ...

  4. hadoop基本认识

    还是hadoop专有名词进行说明. Hadoop框架中最核心设计就是:HDFS和MapReduce.还有yarn HDFS提供了海量数据的存储.(分布式文件系统) MapReduce提供了对数据的计算 ...

  5. [hadoop in Action] 第3章 Hadoop组件

    管理HDFS中的文件 分析MapReduce框架中的组件 读写输入输出数据   1.HDFS文件操作   [命令行方式]   Hadoop的文件命令采取的形式为: hadoop fs -cmd < ...

  6. 初级文法课程-第1课:名词的种类/名词的数/名词的所有格/冠词;be 动词、一般动词的现在式

    January 31, 2016 Unit 1 名词和冠词 名词:n (noun)  作用:当主词.补语.受词 1.名词的种类 [单数和复数--I like dogs]   普通名词:book,pen ...

  7. 第1章 (名词)Le nom

    ★名词的种类:(1)普通名词 —专有名词,如:          un livre —la Chine(2)可数名词—不可数名词,如:          un ami —le lait(3)具体名词— ...

  8. 探索专有领域的端到端ASR解决之道

    摘要:本文从<Shallow-Fusion End-to-End Contextual Biasing>入手,探索解决专有领域的端到端ASR. 本文分享自华为云社区<语境偏移如何解决 ...

  9. I/O优化篇

    转载:http://blog.csdn.net/gzh0222/article/details/9227393 很不错 1.系统学习 IO性能对于一个系统的影响是至关重要的.一个系统经过多项优化以后, ...

随机推荐

  1. 第四周Access的总结

    一.问;这节课你学到了什么知识? 答:这周我们学习了新的课程:表的建立和管理.这是Access最重要的一部份,需要我们认认真真学习!            字段是表最重要的信息,而数据类型是字段或表中 ...

  2. 分享《机器学习实战基于Scikit-Learn和TensorFlow》中英文PDF源代码+《深度学习之TensorFlow入门原理与进阶实战》PDF+源代码

    下载:https://pan.baidu.com/s/1qKaDd9PSUUGbBQNB3tkDzw <机器学习实战:基于Scikit-Learn和TensorFlow>高清中文版PDF+ ...

  3. Python学习第2章

    1.字符串: python中创建字符串我们可以使用引号''或"'. python访问子字符串,可以使用方括号来截取字符串: var="hello world!" var2 ...

  4. 深度搜索优先(全排列)//本内容来自《啊哈!算法》或者英文名《Aha!Algorithms》)

      package Mypackage; import java.util.Scanner; public class 全排列{ static int a[]=new int[10]; static ...

  5. JDBC几种常见的数据库连接

    JDBC的URL=协议名+子协议名+数据源名.a 协议名总是“jdbc”.b 子协议名由JDBC驱动程序的编写者决定.c 数据源名也可能包含用户与口令等信息:这些信息也可单独提供.几种常见的数据库连接 ...

  6. 在jenkins中调用maven的变量

    Maven内置变量说明: ${basedir} 项目根目录(即pom.xml文件所在目录) ${project.build.directory} 构建目录,缺省为target目录 ${project. ...

  7. 在Git中设置自己的姓名

    在Git中,自己的姓名与每一个commit提交绑定在一起.如果你在使用Azure DevOps Server中的Git Repo时,一定要注意commit中的提交者与服务器上的推送者,是两个概念. 在 ...

  8. 在 Linux 上如何挂载 qcow2 磁盘镜像

    1.下载qemu-nbd工具 sudo apt-get install qemu-utils 或者 sudo yum install qemu-img 2.加载nbd模块,然后挂载 sudo modp ...

  9. Linux pwn入门教程(2)——shellcode的使用,原理与变形

    作者:Tangerine@SAINTSEC 0×00 shellcode的使用 在上一篇文章中我们学习了怎么使用栈溢出劫持程序的执行流程.为了减少难度,演示和作业题程序里都带有很明显的后门.然而在现实 ...

  10. # postgresql-shared_buffers

    关于shared_buffers 什么是shred_buffer,我们为什么需要shared_buffers? 1.在数据库系统中,我们主要关注磁盘io,大多数oltp工作负载都是随机io,因此从磁盘 ...