Hadoop入门专家引导

Hadoop你是否了解,本文就像大家简单Hadoop入门知识,希望正在学习Hadoop以及对学习Hadoop感兴趣的朋友们一起来关注。
AD:
本节和大家介绍一下Hadoop入门,主要内容是Hadoop概论,Hadoop的基本概念等内容,希望通过本节的介绍,大家对Hadoop有初步的认识。下面是具体介绍。

Hadoop入门

Hadoop是GoogleMapReduce的一个Java实现。MapReduce是一种简化的分布式编程模式,让程序自动分布到一个由普通机器组成的超大集群上并发执行。就如同java程序员可以不考虑内存泄露一样,MapReduce的run-time系统会解决输入数据的分布细节,跨越机器集群的程序执行调度,处理机器的失效,并且管理机器之间的通讯请求。这样的模式允许程序员可以不需要有什么并发处理或者分布式系统的经验,就可以处理超大的分布式系统得资源。

一、概论
作为Hadoop程序员,他要做的事情就是:
1、定义Mapper,处理输入的Key-Value对,输出中间结果。
2、定义Reducer,可选,对中间结果进行规约,输出最终结果。
3、定义InputFormat和OutputFormat,可选,InputFormat将每行输入文件的内容转换为Java类供Mapper函数使用,不定义时默认为String。
4、定义main函数,在里面定义一个Job并运行它。
然后的事情就交给系统了。Hadoop入门首先要了解一下基本概念。

1.基本概念:Hadoop的HDFS实现了google的GFS文件系统,NameNode作为文件系统的负责调度运行在master,DataNode运行在每个机器上。同时Hadoop实现了Google的MapReduce,JobTracker作为MapReduce的总调度运行在master,TaskTracker则运行在每个机器上执行Task。

2.main()函数,创建JobConf,定义Mapper,Reducer,Input/OutputFormat和输入输出文件目录,最后把Job提交給JobTracker,等待Job结束。

3.JobTracker,创建一个InputFormat的实例,调用它的getSplits()方法,把输入目录的文件拆分成FileSplist作为Mappertask的输入,生成Mappertask加入Queue。

4.TaskTracker向JobTracker索求下一个Map/Reduce。

MapperTask先从InputFormat创建RecordReader,循环读入FileSplits的内容生成Key与Value,传给Mapper函数,处理完后中间结果写成SequenceFile.
ReducerTask从运行Mapper的TaskTracker的Jetty上使用http协议获取所需的中间内容(33%),Sort/Merge后(66%),执行Reducer函数,最后按照OutputFormat写入结果目录。
TaskTracker每10秒向JobTracker报告一次运行情况,每完成一个Task10秒后,就会向JobTracker索求下一个Task。
Nutch项目的全部数据处理都构建在Hadoop之上,详见ScalableComputingwithHadoop。下面我们再来看一下Hadoop入门介绍中程序员编写的代码。

二、程序员编写的代码
我们做一个简单的分布式的Grep,简单对输入文件进行逐行的正则匹配,如果符合就将该行打印到输出文件。因为是简单的全部输出,所以我们只要写Mapper函数,不用写Reducer函数,也不用定义Input/OutputFormat。


packagedemo.hadoop
publicclassHadoopGrep{
publicstaticclassRegMapperextendsMapReduceBaseimplementsMapper{
privatePatternpattern;
publicvoidconfigure(JobConfjob){
pattern=Pattern.compile(job.get("mapred.mapper.regex"));
}

publicvoidmap(WritableComparablekey,Writablevalue,OutputCollectoroutput,Reporterreporter)
throwsIOException{
Stringtext=((Text)value).toString();
Matchermatcher=pattern.matcher(text);
if(matcher.find()){
output.collect(key,value);
}}
}
privateHadoopGrep(){
}//singleton

publicstaticvoidmain(String[]args)throwsException{
JobConfgrepJob=newJobConf(HadoopGrep.class);
grepJob.setJobName("grep-search");
grepJob.set("mapred.mapper.regex",args[2]);
grepJob.setInputPath(newPath(args[0]));
grepJob.setOutputPath(newPath(args[1]));
grepJob.setMapperClass(RegMapper.class);
grepJob.setReducerClass(IdentityReducer.class);
JobClient.runJob(grepJob);
}
}
RegMapper类的configure()函数接受由main函数传入的查找字符串,map()函数进行正则匹配,key是行数,value是文件行的内容,符合的文件行放入中间结果。
main()函数定义由命令行参数传入的输入输出目录和匹配字符串,Mapper函数为RegMapper类,Reduce函数是什么都不做,直接把中间结果输出到最终结果的的IdentityReducer类,运行Job。整个代码非常简单,丝毫没有分布式编程的任何细节。请期待下节关于Hadoop入门介绍。
从调节阀到步进电机:图解位置型PID与增量式PID的核心区别 本文深入解析了位置型PID与增量式PID的核心区别。通过调节阀和步进电机的实例,阐明位置式PID输出绝对位置,适用于直接控制执行机构;而增量式PID输出位置变化量,天然支持无扰动切换,更适合步进电机等场景。文章重点剖析了增量式PID在系统安全与平滑切换方面的关键优势。 阅读详情

相关推荐

从光耦隔离到稳定驱动:信捷伺服与STM32的硬件设计陷阱与救赎

本文深入探讨了信捷伺服驱动器与STM32微控制器配合时的硬件设计关键问题,包括光耦隔离电路选型、电源电压选择、拨码开关设置等核心环节。针对伺服驱动器的稳定驱动需求,提供了从电路设计到抗干扰策略的完整解决方案,帮助工程师规避常见陷阱,提升工业控制系统的可靠性。

gold8的专栏 310

《Hadoop核心技术》作者翟周伟 :我与Hadoop的不解之缘

摘要:翟周伟,资深Hadoop技术专家,《Hadoop开源云计算平台》、《Hadoop核心技术》作者。日前,优快云记者对他进行了采访,请他解读Hadoop发展现状、特性及发展前景,以及这一路走来的心路历程。 翟周伟,资深Hadoop技术专家,专注于Hadoop&大数据,数据挖掘,自然语言处理领域,目前就职于百度。2009年,利用Hadoop构建商业级大数据系统,是国内该领域最早的一批人之一;负责

xytlwp的专栏 1476

FDTD材料nk值拟合优化指南:利用材料资源管理器提升光学模型精度

本文详细介绍了如何利用FDTD仿真软件中的材料资源管理器,对材料nk值进行精确拟合与优化,从而提升光学模型的仿真精度。文章通过实战案例,解析了拟合参数调整、报告解读以及针对varFDTD求解器的特殊注意事项,帮助用户从根本上解决仿真结果不准的常见问题。

weixin_29196891的博客 352

十大国内外知名大数据专家探讨:Hadoop是生是死?

2017年,Gartner发布的《2017年数据管理技术成熟度曲线》将Hadoop掀上舆论巅峰,报告极其明显的标识出Hadoop即将在到达生产成熟期之前进入淘汰席。Gartner预测,到2018年,70%的Hadoop部署无...

coqonmdrr954803650的博客 440

自动驾驶开发者必看:nuscenes数据集23类物体标注全解析(附避坑指南)

本文深入解析nuscenes数据集的23类物体标注系统,为自动驾驶开发者提供全面的标注规范解读和实战避坑指南。涵盖多模态数据组织、类别细分规则、属性系统应用技巧以及标注质量验证方法,帮助开发者高效利用这一标杆数据集提升模型性能。

weixin_29041767的博客 253

超详细的YOLOv8安装与测试指南:让计算机视觉任务变得简单

python3+、Anaconda3或Miniconda3 Ultralytics提供了多种安装方法,包括pip、conda和Docker。通过pip包安装最新稳定版的YOLOv8,或者克隆Ultralytics GitHub仓库以获取最新版本。Docker可用于在隔离容器中执行包,避免本地安装。 最简单直接的方式就是直接使用pip方法直接安装。 也可以直接从GitHub仓库安装包。如果你想要最新的开发版本,这可能会很有用。确保你的系统上安装了Git命令行工具

CDBmax的博客 1万+

Hadoop运维工程师专家之路--第二章Hadoop架构简介

第二章Hadoop架构简介 本章包括 l  Hadoop架构 l  分布式集群 l  HDFS架构 l  YARN架构 本章介绍Hadoop架构。在你学习管理Hadoop集群之前,有必要先了解下Hadoop的集群架构。Hadoop包括两个基础层:存储层HDFS,处理层YARN。 本章非常关键,因为它引入了几个关键术语,以及相关的守护进程和进程相互配合,完成hadoop数据库的存储和计

daydaylearn的专栏 3577

181、LLC谐振变换器的PCB设计实战(文件归档)

PCB设计实战经验总结:LLC谐振变换器的关键要点 本文通过实际案例总结了LLC谐振变换器PCB设计中的核心经验和常见误区。重点包括: 文件命名规范(项目代号_板卡类型_版本号_日期格式) 四层板标准层叠结构设计要点 谐振回路走线原则(宽度、长度控制) 地线处理技巧(功率地/控制地隔离) 散热设计注意事项(MOSFET过孔阵列、变压器布局) 完整的文件归档清单(Gerber、钻孔、装配图等) 作者特别强调,良好的设计归档习惯能显著降低生产问题概率,建议采用双重备份机制。文中多个真实案例(如谐振频率偏移、EM

Jack010169的博客 40

Hadoop Hdfs常用命令

Hadoop Hdfs常用命令   概述  本文档介绍Hadoop hdfs系统的一些常用命令。  操作hdfs系统可以使用hadoop fs 也可以使用 hdfs dfs ,两者效果一样。(hadoop dfs命令已不再建议使用)   参考: http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_shell.html   常用命令 一、 

sunshingheavy的专栏 5万+

RT-DETR算法优化改进:Backbone改进 | HGBlock完美结合PPHGNetV2 GhostConv

GhostConv助力RT-DETR ,HGBlock与PPHGNetV2 GhostConv完美结合

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 2908

华为OD机试真题 新系统 - WIFI设备网络规划 (Java/Py/C/C++/Js/Go)

本文整理华为 OD 机试新系统机考真题库,涵盖高频考点精析与完整题目内容,提供 C 语言、Java、C++、Python、Go、JavaScript 多语言源码实现,搭配详细解题思路讲解,并支持在线 OJ 刷题练习,助力高效备考华为 OD 机试新系统。

算法大师! 2012

hadoop集群搭建(超详细版)

1.准备好需要安装的软件 虚拟机VMware12.pro 操作系统CentOS 6.5 远程控制虚拟机的终端SecureCRT8.1 2.在虚拟机中安装CentOS操作系统 安装好虚拟机,图形界面如下图 创建新的虚拟机,选择自定义(高级),点击下一步 虚拟机硬件兼容性默认,浏览需要安装的CentOS6.5镜像文件 自定义用户名和密码(用于登录) 设置虚...

code__online的博客 10万+

【调优】OpenClaw从零开始高阶调优之skill篇

本文详细解析了OpenClaw技能系统的核心机制。首先介绍了技能的分层加载逻辑,按照优先级从高到低依次为:工作区专属技能、全局共享技能、出厂自带技能和自定义路径技能。通过流程图展示了从扫描到注册的完整加载流程,并解释了同名技能覆盖规则。随后深入剖析了SKILL.md文件结构,包含YAML元数据定义技能属性和Markdown正文说明使用方法,以公众号写作技能为例展示了具体配置。文章还提供了技能优先级切换的实用技巧,帮助用户灵活管理不同版本的技能。

海兰 237

linux安装hadoop图文教程,专家推荐 Linux下安装Hadoop教程新手必备

本节和大家一起学习一下Linux下安装Hadoop教程,在学习Hadoop的过程中,你可能会遇到Hadoop安装问题,这里介绍一下Linux下安装Hadoop方法,希望通过本节的介绍大家能够掌握如何安装Hadoop。Linux下安装Hadoop教程目的:此安装Hadoop教程旨在引导未接触Hadoop的新手入门只用,高手请飘过。环境:Fedora12Kernel2.6.31.5-127.fc12....

weixin_39768695的博客 248

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Windows下安装Hadoop(引导版)

本环境只作为测试环境的搭建和学习使用。

guitarCC的博客 1278

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

hadoop+Spark+springboot基于大数据的高校网络舆情监控引导系统

Spring Boot是一个开源的Java后端框架,它简化了基于Spring的应用程序的初始搭建和配置过程。通过提供外部化配置、自动配置和约定优于配置的原则,Spring Boot使开发者能够快速地构建独立、可运行的、生产级别的Spring应用程序。Spring Boot基于大数据的高校网络舆情监控引导系统是一个专为高校设计的,用于全面、及时、准确地监控和引导网络舆情的系统。Spark是一个快速、通用的大规模数据处理引擎,它提供了内存计算、流处理、图计算等多种计算模式,能够高效地处理大规模数据。

QQ79278590的博客 765

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

[hadoop那些事] 快速运行一个hadoop入门例题——wordcount

这里写目录标题背景:高可用hadoop安装完毕之后为了确认平台的可用性,所以需要快速运行一个案例,不如就拿官网的例子来吧! 特此做个笔记~hadoop笔记及教程一、新建一个文件并写入一些单词二、创建input路径三、将test.txt传入hdfs四、运行案例一五、运行案例二 背景:高可用hadoop安装完毕之后为了确认平台的可用性,所以需要快速运行一个案例,不如就拿官网的例子来吧! 特此做个笔记~ hadoop笔记及教程 一、新建一个文件并写入一些单词 mkdir fzy vi test.txt 内容

qq_44172732的博客 344

Hadoop管理入门十大技巧

http://bigdataanalyticsnews.com/top-10-tips-for-hadoop-administration-for-starters/ Hadoop管理入门十大技巧 当“大数据”被视为一个问题时,Apache Hadoop有望作为解决方案而发展。 它是一个框架,提供各种工具或服务,以处理和存储大数据的前景。 它也有助于分析大数据,并使不同的业

橘子派 1087

大数据领域入门引导篇

让你们了解大数据概貌入门,大数据领域下分为哪几块方向,大数据领域各岗位方向关注的技能和能力

大数据阶梯之路的博客 326

Hadoop技术栈之Apache Hadoop概述

Hadoop介绍、发展简史、现状。

黑马程序员官方博客 948

Hadoop尚硅谷自学记录

自学hadoop的实时记录

2301_79513503的博客 1005

Hadoop入门之window安装单机版Hadoop

安装版本及环境: JDK:1.8.0_121 Hadoop:2.7.1 eclipse :2018 一、准备阶段 所有要用到的软件、jar包和windows执行Hadoop必须的一些文件点此下载 二、开始安装 1、解压hadoop-2.7.1.tar.gz,解压的位置最好和jdk在一个盘且不要在C盘(系统盘),解压过后的目录样式如下: 2、配置系统环境变...

gznc_pcc的博客 3879

基于大数据的高校网络舆情监控引导系统

摘要:Spring Boot大数据高校网络舆情监控系统采用Spring Boot+Vue.js等技术栈,集成Hadoop/Spark进行大数据处理,实现高校网络舆情的实时监测与分析。系统具备舆情采集、情感分析、危机预警、可视化展示等功能,可识别热点话题并评估传播趋势,辅助学校进行舆情引导和决策。通过MySQL/MongoDB存储数据,确保系统稳定性和安全性,有效提升校园舆情管理效率。该系统为高校提供了全面的网络舆情监测解决方案。

2301_81127431的博客 311

Hadoop选择、判断、简答题

@Hadoop选择、判断、简答题 1、 在HDFS中,用于保存数据的节点是()。 A、namenode B、datanode C、secondaryNode D、yarn 参考答案: B 答案解析: 暂无解析 2、 在MapReduce程序中,map()函数接收的数据格式是()。 A、字符串 B、整型 C、Long D、键值对 参考答案: D 答案解析: map()函数接收的数据格式是键值对,产生的输出结果也是键值对形式。 3、 每个Map任务都有一个内存缓冲区,默认大小是()。 A、128M B、64.

weixin_43793040的博客 2万+

大数据hadoop集群安装入门

安装系统,先安装vm虚拟机安装系统虚拟机设置现在定制系统软件IVT虚拟化支持(说实话我的没错我也看不懂这个,就给你们参考一下) 安装系统 1、创建新的虚拟机 2、新建虚拟机向导 3、创建虚拟空白光盘 4、安装Linux系统对应的CentOS版 5、虚拟机命名和定位磁盘位置 虚拟机名称统一填写:hadoop100(好区分) 安装位置统一安装:位置自己记 6、处理器配置,看自己是否是双核、多核 注意:(1)处理器的数量统一为:1 (2)处理器的核数为1 (可以根据自己电脑改) 7、设置内存为2GB 注意:虚拟

insect_的博客 585

ubuntu下Hadoop以及Spark的伪分布式安装:一

很多初学者在安装的时候会碰到各种各样的问题,尤其各种版本的搭配问题。所以特意做一个初步安装的引导,希望大家都能一次调试出来。经过测试,jdk11 + scala2.13.13 + hadoop3.3.6+spark3.5.1,这是暂时来说scalsa2能支持的最完美的搭配。Hadoop能支持到的java最完美的最后版本为jdk11,后面的版本也可以使用,但是java 11后面的版本去掉了javax.activation,导致无法浏览服务端的文件夹以及文件。

1360
上一篇: Hadoop 实践入门
下一篇: memcached入门
lvwenwenjava
博客等级 码龄15年 53粉丝 726原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值