Hadoop与workflow入门
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入门相关推荐
- WorkFlow入门Step.4—Adding Procedural Elements-For-WF4.0-(续)
开篇 上篇,我们简单的说明了WF的入门,那么院子里面已经有很多的高手,写了不少的关于工作流的应用,最近在集成工作流平台的过程中也是发现了不少的问题和心得体会,工作流果真不只是审批那么简单,复杂度可见非 ...
- hadoop hive hbase 入门学习 (二)
hadoop 自学系列 hadoop hive hbase 入门学习 (一) hadoop安装.hdfs学习及mapreduce学习 hadoop 软件下载 (hadoo ...
- WorkFlow入门Step.7—Creating a FlowChart WorkFlow-For-WF4.0
开篇 上篇,我们讲述了,如果通过后台代码来构建工作流流程<WorkFlow入门Step.6-Building a Console Application -For-WF4.0>,本篇我们就 ...
- WorkFlow入门Step.3—Adding Procedural Elements-For...
2019独角兽企业重金招聘Python工程师标准>>> 开篇 上篇,我们简单的说明了WF的入门,那么院子里面已经有很多的高手,写了不少的关于工作流的应用,最近在集成工作流平台的过程中 ...
- Hadoop之MRjob入门
Hadoop之MRjob入门 一.mrjob的安装 Hadoop 的各 Python 框架对比 使用 mrjob 实现词组统计 **启动 Hadoop 集群** **启动 hadoop 集群:** 代 ...
- hadoop(9)--MapReduce入门WordCount
众所周知,hadoop的核心有hdfs,mapReduce,之前8次的分享都是在将hdfs,那么从这次开始来分享一下mapReduce MapReduce就是java程序,这一句话一出来让我这个jav ...
- Hadoop学习笔记——入门教程(虚拟机安装LinuxHadoop环境搭建配置)
文章目录 一.Hadoop安装配置文档及注意事项 二.Hadoop概述 2.1.Hadoop是什么 2.2.Hadoop的发展历史 2.3.Hadoop三大发行版本 2.3.1 Apache Hado ...
- 大数据hadoop新手快速入门视频教程 Hadoop学习视频教程
最新在学习hadoop .storm大数据相关技术,发现网上hadoop .storm 相关学习视频少之又少,我这里整理了hadoop学习视频,给大家学习. 视频下载地址:http://demo.li ...
- Argo workflow 入门
Argo workflow 作为云原生的workflow 引擎被大量应用于CI/CD , 基础设施自动化支持 一般来说按照argo workflow 提供的官方文档可以完成 入门体验,argo wor ...
最新文章
- 苹果发布首款 Mac 自研芯片 M1,贯通生态快人一步!
- Install 802.1x In Fedora
- gprMax 3.1.5 安装以及在pycharm或VScode中运行的方法
- C语言之文件读写探究(四):fwrite、fread(一次读写一块数据(二进制操作))
- 阿里云云计算 31在线实验--弹性伸缩(AS)初体验
- Matlab实现均值滤波
- ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
- eyoucms目录结构
- c语言 获取中文首字母,C语言获取汉字拼音首字母
- 未来软件开发的发展趋势
- python列表查找元素用什么运算符_【Python】第012课,定义和使用列表,列表的运算符,列表元素的遍历i,列表的方法,元素位置和次数,元素排序和反转。...
- 形容词记忆(六):ive, ile, ary后缀常用词
- java设计九宫格拼图软件哪个好用_十亿人都在拼的拼图软件,这八款最好用
- iPhoneX设计稿适配Android,三分钟弄懂iPhoneX设计尺寸和适配(二)
- 职高 计算机应用与基础测试卷,职高二计算机应用基础期末测试.doc
- Python Tkinter 之Radiobutton控件(Python GUI 系列8)
- Hbase--Scan全局扫描中的过滤器
- SOD下载数据注意事项
- 2022-2027年中国羽绒行业市场全景评估及发展战略规划报告
- shell 多线程脚本
热门文章
- 微信公众平台推数据统计功能 商业价值可量化
- OpenGL 环境配置教程-库文件汇总【glfw/glew/glad/glm/std_img】
- 美国搜索市场之战 微软终于战胜雅虎
- 烤箱上prg_10个烤箱新鲜的jQuery插件
- go 源码工具解析-英文单复数变化 Inflection
- WPS怎么外链网页上的实时数据_什么是外链,如何获取更多的外链?
- 28 岁程序员身价过亿,选择退休东渡日本
- JSP入门教程:JSP简明教程
- Debian系统安装
- 【Visual C++】游戏开发笔记四十六 浅墨DirectX教程十四 模板测试与镜面特效专场