• 春节前及春节期间学习目标、进度


    看完务必总结,要时刻清醒的知道自己在干嘛,这次不会再倒回去看了,最多没听懂课程的部分记个结论就赶紧过。(屁股要坐得住,学习一开始都会浮躁个10来分钟的,这时候不要着急,先从一些很简单的学习任务开始,没听懂也没关系不用给压力。等过了这10多分钟,就开始进入学习节奏了,后面你想出来都难,但是要注意一天不要反复退出学习节奏,因为进去一次比较麻烦的。)

    1.26 

    16点23分,听了一小时多了,决定休息一下。听个音乐刷个微博,16点40分回来继续。

    hadoop day4

    03:(1)理解了maptask的切片原则

    • 一个Job启动几个Map由提交job时设置的切片数决定
    • 每一个切片split分配一个MapTask处理
    • 默认情况,切片大小=BlockSize
    • 切片时不考虑数据集整体,只逐个针对单个文件

    (2)了解了客户端怎么提交job的源码(后面可以参考word文档再看)

    • 提交job分一下几步:检查job状态--》设置使用新api--》连接集群--》提交job给集群
    • 其中提交job的过程又分为以下几步:检查job输出--》获取临时文件夹--》获取job ID--》向临时文件夹写jar包、切片信息、配置文件--》提交

    04:理解了Inputformat要做的第一件事 切片规则:具体规则去看一下Mapreduce word文档里面切片的源码,视频里没有细细总结

    注意下数据块是严格按照128M切的,但是一个Map如果处理到了150M的数据,可以把程序下发到两个节点上,分别处理128M和另外22M。

    05 Inputformat概述,没听到睡着了,以后会重新听。

    06 各种InputFormat实现类,睡着了,以后可以慢慢听。

    07 自定义InputFormat实操,InputFormat就包括两件事,切片和转化文本为一组kv值。

    RecordReader负责输出kv值,k是文本的偏移量,v是一行文档吧(TextInputFormat中)。

    • 自定义IinputFormat实例,需要继承FileInputFormat 实现RecordReader方法
    • 自定义RecordReader实例,需要继承RecordReader,并实现6个方法:
      •  initialize、close
      •     getProgress    获取当前切片拆分为kv对的进度
      •     nextKeyValue   是否还有下一个可以拆分为kv的内容
      •     getNextKey  getNextValue   获取
  • 相关阅读:
    LeetCode 面试题 02.02. 返回倒数第 k 个节点
    LeetCode 1290. 二进制链表转整数
    LeetCode 面试题52. 两个链表的第一个公共节点
    LeetCode 2. 两数相加
    Jupyter Notebook 常用快捷键 (转)
    LeetCode 414. 第三大的数
    LeetCode 404. 左叶子之和
    三年了
    LeetCode 543. 二叉树的直径
    求结点在二叉排序树中层次的算法
  • 原文地址:https://www.cnblogs.com/gen2122/p/15846543.html
Copyright © 2020-2023  润新知