• Hadoop专有名词


    Hadoop专有名词

    一. HDFS

    二. MapReduce

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

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

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

    4.JobLocalJobRuuner  YarnRunner

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

    6.Inputformat:默认的InputFormat-->FileInputFormat-->TextInputFormatLongWritable,Text

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

    8.LocalJobRunner:

    三. 疑问点

    1.“整个数据处理流程

    2.MapTaskReduceTask运行顺序

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

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

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

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

    (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.设置输出文件中KeyValue的分割符:configuration.set("mapred.textoutputformat.separator", ";");

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

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

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

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

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

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

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

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

    (1)3个文件:每一个文件1splitsMapKeyINValueInKeyOutObjectWritable》、reduce

    ①Order订单

    ②Product产品

    ObjectWritable

    If()

    Ordedr

    Product

  • 相关阅读:
    CentOS安装配置ganglia
    k-means聚类算法
    SharePoint solution and feature management with PowerShell
    EM算法
    极客”一词,来自于美国俚语“geek”的音译,一般理解为性格古怪的人
    学习游戏要学习编程语言吗?十大主流编程语言解析
    platform_device与platform_driver
    《用户体验要素》澄清了 UI 原型设计中看不见确感受得到的那一层
    ipconfig /flushdns 清除系统DNS缓存
    typedef和define具体的具体差别
  • 原文地址:https://www.cnblogs.com/beiyi888/p/9566651.html
Copyright © 2020-2023  润新知