1、学习hadoop MapReduce流程:

(1)使用split对输入文件进行分片,每个分片作为一个map任务。注意,输入分片存储的 并非数据本身,而是一个分片长度和一个记录数据的位置的数组。分片的大小由block决定(当第n块大小大于实际文件大小时,按照实际文件大小占用空间。)

(2)对切分完的输入按照一定的规则解析成(k,v)对。

(3)调用Mapper类中的map()方法,对第二步解析出来的(k,v)对进行操作。这也是我们需要实现真正逻辑的地方。每调用一次map()方法,就会输出0个或1个或多个(k,v)对。

小知识:Hadoop 2.x默认的block大小是128MB,Hadoop 1.x默认的block大小是64MB,可以在hdfs-site.xml中设置dfs.block.size,注意单位是byte。分片大小范围可以在mapred-site.xml中设置,mapred.min.split.size mapred.max.split.size,minSplitSize大小默认为1B,maxSplitSize大小默认为Long.MAX_VALUE = 9223372036854775807。

public class AccessLogsMapper extends Mapper<Object, Text, Text, Text> {

private static Pattern pattern = Pattern.compile("\\|");

  • mapper类是实现map任务的类, 实现的是对大量数据记录或元素的重复处理,并对每个记录或元素做感兴趣的处理、或取感兴趣的中间结果。其中object是key输入,第一个text是value输入;后面两个text是key和value的输出。

  • pattern,将读入的文本按照|设置切分模式

  • setup: 初始化工作, 如创建一个全局数据结构,打开一个全局文件,或者建立数据库连接等

  • map:实际处理工作

  • clean: 收尾工作,如关闭文件或者执行map()后的键值对的分发等

  • metadata:数据的数据,即元数据。 维护了HDFS文件系统中文件和目录的信息。

  • 将得到的分割字符串转换成int类型。

  • 获取机房信息。

  • key是传入map的键值,value是对应键值的value值,context是环境对象参数,供程序访问Hadoop的环境对象。

  • 得到分割的字符数组

  • 将文本拆分成keytext和valuetext, 分发给reducer做进一步的处理。

    (4)在reuducer中同样有setup,reduce,cleanup

    (5)启动类

  • 设置mapper、reducer的类,最终输出数据类型等。

2、了解workflow.xml:

https://www.jianshu.com/p/c708c41c6c93

(1)控制流

<start to="CHECK_ACCESSLOGS"/>

  • start元素中的to指向第一个将要执行的工作流节点    

  • end节点: 达到该节点,工作流Job会变成SUCCEEDED状态,表示成功完成。需要注意的是,一个工作流定义必须只能有一个end节点。当一个workflow执行到end node时,即代表这个wf已经成功执行完成,如果有多个actions,其中一个到达了end node,则会kill掉其他actions,此时wf也被认为是成功执行完成。

  • kill元素的name属性,是要杀死的工作流节点的名称,message元素指定了工作流节点被杀死的备注信息。达到该节点,工作流Job会变成状态KILLED。

  • decision节点通过预定义一组条件,当工作流Job执行到该节点时,会根据其中的条件进行判断选择,满足条件的路径将被执行。decision节点通过switch…case语法来进行路径选择,只要有满足条件的判断,就会执行对应的路径,如果没有可以配置default元素指向的节点。

  • fork元素下面会有多个path元素,指定了可以并发执行的多个执行路径。fork中多个并发执行路径会在join节点的位置会合。

(2)操作流

    

  • 如果操作节点执行成功,则会转向ok节点;如果失败则会转向error节点。

  • workflow拥有很多默认的和扩展的动作:java、pig、map-reduce、fs、hive、shell、sqoop等。

3、学习Hadoop Shell命令

http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_shell.html#ls

Hadoop与workflow入门相关推荐

  1. WorkFlow入门Step.4—Adding Procedural Elements-For-WF4.0-(续)

    开篇 上篇,我们简单的说明了WF的入门,那么院子里面已经有很多的高手,写了不少的关于工作流的应用,最近在集成工作流平台的过程中也是发现了不少的问题和心得体会,工作流果真不只是审批那么简单,复杂度可见非 ...

  2. hadoop hive hbase 入门学习 (二)

    hadoop 自学系列                hadoop hive hbase 入门学习 (一) hadoop安装.hdfs学习及mapreduce学习 hadoop 软件下载 (hadoo ...

  3. WorkFlow入门Step.7—Creating a FlowChart WorkFlow-For-WF4.0

    开篇 上篇,我们讲述了,如果通过后台代码来构建工作流流程<WorkFlow入门Step.6-Building a Console Application -For-WF4.0>,本篇我们就 ...

  4. WorkFlow入门Step.3—Adding Procedural Elements-For...

    2019独角兽企业重金招聘Python工程师标准>>> 开篇 上篇,我们简单的说明了WF的入门,那么院子里面已经有很多的高手,写了不少的关于工作流的应用,最近在集成工作流平台的过程中 ...

  5. Hadoop之MRjob入门

    Hadoop之MRjob入门 一.mrjob的安装 Hadoop 的各 Python 框架对比 使用 mrjob 实现词组统计 **启动 Hadoop 集群** **启动 hadoop 集群:** 代 ...

  6. hadoop(9)--MapReduce入门WordCount

    众所周知,hadoop的核心有hdfs,mapReduce,之前8次的分享都是在将hdfs,那么从这次开始来分享一下mapReduce MapReduce就是java程序,这一句话一出来让我这个jav ...

  7. Hadoop学习笔记——入门教程(虚拟机安装LinuxHadoop环境搭建配置)

    文章目录 一.Hadoop安装配置文档及注意事项 二.Hadoop概述 2.1.Hadoop是什么 2.2.Hadoop的发展历史 2.3.Hadoop三大发行版本 2.3.1 Apache Hado ...

  8. 大数据hadoop新手快速入门视频教程 Hadoop学习视频教程

    最新在学习hadoop .storm大数据相关技术,发现网上hadoop .storm 相关学习视频少之又少,我这里整理了hadoop学习视频,给大家学习. 视频下载地址:http://demo.li ...

  9. Argo workflow 入门

    Argo workflow 作为云原生的workflow 引擎被大量应用于CI/CD , 基础设施自动化支持 一般来说按照argo workflow 提供的官方文档可以完成 入门体验,argo wor ...

最新文章

  1. 苹果发布首款 Mac 自研芯片 M1,贯通生态快人一步!
  2. Install 802.1x In Fedora
  3. gprMax 3.1.5 安装以及在pycharm或VScode中运行的方法
  4. C语言之文件读写探究(四):fwrite、fread(一次读写一块数据(二进制操作))
  5. 阿里云云计算 31在线实验--弹性伸缩(AS)初体验
  6. Matlab实现均值滤波
  7. ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  8. eyoucms目录结构
  9. c语言 获取中文首字母,C语言获取汉字拼音首字母
  10. 未来软件开发的发展趋势
  11. python列表查找元素用什么运算符_【Python】第012课,定义和使用列表,列表的运算符,列表元素的遍历i,列表的方法,元素位置和次数,元素排序和反转。...
  12. 形容词记忆(六):ive, ile, ary后缀常用词
  13. java设计九宫格拼图软件哪个好用_十亿人都在拼的拼图软件,这八款最好用
  14. iPhoneX设计稿适配Android,三分钟弄懂iPhoneX设计尺寸和适配(二)
  15. 职高 计算机应用与基础测试卷,职高二计算机应用基础期末测试.doc
  16. Python Tkinter 之Radiobutton控件(Python GUI 系列8)
  17. Hbase--Scan全局扫描中的过滤器
  18. SOD下载数据注意事项
  19. 2022-2027年中国羽绒行业市场全景评估及发展战略规划报告
  20. shell 多线程脚本

热门文章

  1. 微信公众平台推数据统计功能 商业价值可量化
  2. OpenGL 环境配置教程-库文件汇总【glfw/glew/glad/glm/std_img】
  3. 美国搜索市场之战 微软终于战胜雅虎
  4. 烤箱上prg_10个烤箱新鲜的jQuery插件
  5. go 源码工具解析-英文单复数变化 Inflection
  6. WPS怎么外链网页上的实时数据_什么是外链,如何获取更多的外链?
  7. 28 岁程序员身价过亿,选择退休东渡日本
  8. JSP入门教程:JSP简明教程
  9. Debian系统安装
  10. 【Visual C++】游戏开发笔记四十六 浅墨DirectX教程十四 模板测试与镜面特效专场