6.4hadoop idea本地运行器测试
1.1 本地运行器进行本地测试
写一个MapReduce驱动程序,执行job,实现tool接口,所以可以通过hadoop的命令行去设置为本地运行模式。实现tool的run函数,在run函数中创建job执行任务,输出结果。
1.1.1 本地任务执行器定义
package Temperature;
import javafx.scene.text.Text;
import org.apache.hadoop.conf.Configured;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.mapred.FileInputFormat;
import org.apache.hadoop.mapred.FileOutputFormat;
import org.apache.hadoop.mapred.JobClient;
import org.apache.hadoop.mapred.JobConf;
import org.apache.hadoop.mapred.jobcontrol.Job;
import org.apache.hadoop.util.Tool;
import org.apache.hadoop.util.ToolRunner;
public class MaxTemperatureDrive
extends Configured implements
Tool {
public int run(String[] var1) throws Exception
{
if (var1.length!=2)
{
return -1;
}
JobConf conf=new JobConf(MaxTemperatureJob.class);//hadoop会根据类名去找jar包
conf.setJobName("Max temperature");
FileInputFormat.addInputPath(conf,new Path(var1[0]));//输入文件:单个文件或者目录
FileOutputFormat.setOutputPath(conf,new Path(var1[1]));//输出路径,hadoop新建,不能存在。避免误覆盖
conf.setMapperClass(TemperatureMapper.class);
conf.setReducerClass(MaxTempertureReduce.class);
conf.setOutputKeyClass(Text.class);//reduce的输出类型,map一致时默认,不一致,map也需要指定
conf.setOutputValueClass(IntWritable.class);
JobClient.runJob(conf);
return 0;
}
public static void main(String[]
args) throws Exception {
int exitCode=
ToolRunner.run(new MaxTemperatureDrive(),args);
System.exit(exitCode);
}
}
编译文件,编译生成jar文件,通过hadoop的命令行参数,设置本地模式,main函数的参数参入输入输出路径,run函数执行job任务输出结果。
指定用本地模式有两种方法-conf Hadoop-local.xml或者用
–jt local
方法1:指定配置文件、输入路径、输出路径
%mvn compile
%exprot HADOOP_CLASSPATH=target/classes/
%hadoop v2.MaxTempertureDrive –conf conf/hadoop-local.xml
input/ncdc/micro output
方法2指定文件系统、本地模式、输入路径、输出路径。将mapreduce.framework.name的指针设置为local,则使用本地作业运行器运行作业。
%hadoop v2.MaxTempertureDrive –fs file:/// -jt local input/ncdc/micro output
1.1.2
idea直接调试运行MaxTemperatureDrive
采用hadoop命令运行程序时,没法单步调试。可以直接创建测试类在idea中调试运行。
(1)创建测试类
package Temperature;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.junit.Test;
import static org.junit.Assert.assertThat;
public class MaxTemperatureDriveTest
{
@Test
public void test() throws
Exception
{
Configuration conf =new Configuration();
conf.set("fs.defaultFS","file:///");//设置默认文件系统
conf.set("mapreduce.framework.name","local");//设置本地运行器模式
conf.setInt("mapreduce.task.io.sort.mb",1);
//在工程目录D:\Project\Hadoop\下创建输入input/ncdc/micro和输出目录output
Path input =new Path("input/ncdc/micro");//输入路径
Path output=new Path("output");//输出路径
//删除上一次的输出,避免重复
FileSystem fs=FileSystem.getLocal(conf);
fs.delete(output,true);
MaxTemperatureDrive driver=new MaxTemperatureDrive();
driver.setConf(conf);//设置driver配置
//传入输入路径和输出路径,调用run函数运行测试
int exitcode=
driver.run(new String[] {input.toString(),output.toString()});
System.out.print(exitcode);
}
}
(2)项目路径创建输入路径和输出路径,在输入路径中写入测试数据的txt文件
(3)调试运行程序
自己开发了一个股票智能分析软件,功能很强大,需要的点击下面的链接获取:
https://www.cnblogs.com/bclshuai/p/11380657.html
6.4hadoop idea本地运行器测试的更多相关文章
- webpack正式、测试环境接口地址本地运行及打包命令配置
声明:本文由w3h5原创,转载请注明出处:<webpack正式.测试环境接口地址本地运行及打包命令配置> https://www.w3h5.com/post/521.html 为了方便开发 ...
- LR12.53—第6课:运行负载测试
第6课:运行负载测试 当你运行一个负载测试,LoadRunner将生成系统上的负载.然后,您可以使用LoadRunner的监控器和图形负载下,观察系统的性能. 在这一课中,你将涵盖以下主题: 一目了然 ...
- APP本地服务安全测试
一.安全测试基本分类: 1.系统安全 系统加固 安全加固:比如linux中关闭telnet端口,修改ssh端口 检测一些不必要的服务(需要卸载一个ping)--保证系统的最小集 app安全加固:加一层 ...
- PintJS – 轻量,并发的 GruntJS 运行器
PintJS 是一个小型.异步的 GruntJS 运行器,试图解决大规模构建流程中的一些问题. 典型的Gruntfile 会包括 jsHint,jasmine,LESS,handlebars, ugl ...
- IDEA开发spark本地运行
1.建立spakTesk项目,建立scala对象Test 2.Tesk对象的代码如下 package sparkTest /** * Created by jiahong on 15-8-2. */ ...
- 开发函数计算的正确姿势 —— 使用 Fun Local 本地运行与调试
前言 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传.函数计算 ...
- spark之scala程序开发(本地运行模式):单词出现次数统计
准备工作: 将运行Scala-Eclipse的机器节点(CloudDeskTop)内存调整至4G,因为需要在该节点上跑本地(local)Spark程序,本地Spark程序会启动Worker进程耗用大量 ...
- Maven运行JUnit测试(http://www.360doc.com/content/13/0927/15/7304817_317455642.shtml)
Maven单元测试 分类: maven 2012-05-09 15:17 1986人阅读 评论(1) 收藏 举报 maven测试junit单元测试javarandom 目录(?)[-] maven ...
- 本地运行项目成功 ,但在服务器运行程序就会报Failed to establish a new connection: [Errno -2] Name or service not known
equests.exceptions.ConnectionError: HTTPSConnectionPool(host=): Max retries exceeded with url: /appa ...
随机推荐
- C# 延迟初始化 Lazy<T>
概念:延时初始化重点是延时,用时加载,意思是对象在使用的时候创建而不是在实例化的的时候才创建. 延时加载主要应用的场景: 数据层(ADO.NET或Entity Framework等ORM,Java ...
- class类 - extends
继承是面向对象中一个比较核心的概念.ES6 class的继承与java的继承大同小异,如果学过java的小伙伴应该很容易理解,都是通过extends关键字继承.相较于ES5当中通过原型链继承要清晰和方 ...
- JS实现异步的几种方式
1.JS执行环境:单线程 单线程:就是指一次只能完成一件任务.若有多个任务时,就必须排队,等前面一个任务完成之后,再执行后面一个任务 缺点:任务耗时很长,后面的任务需要等待,拖延整个程序的执行.例 ...
- 巧用flex(一)
在开发中我们经常遇到一个页面头部内容固定顶部,中间内容可滚动的需求,一般的逻辑就是把头部内容通过position以及z-index固定位置,提高层级,然后中间内容设置距离顶部一定距离,这样的效果是侧边 ...
- Nginx中location模块的详细配置(含示例)
题记 此前在配置Nginx location模块的时候玩出了一些bug,折腾了一段时间.后来网上也查阅了相关的资料,看着也比较混乱.周末有空想着好好整理一下location模块的配置,结合自己的亲手实 ...
- [daily]使用iptables配置NAT的命令速查
时常,快速的配置一个临时的NAT环境是很常用需求. 但是,每次我都要读iptables的手册,才能配出来.所以,备忘一个速查. DNAT: iptables -t nat -A PREROUTING ...
- python网络爬虫第三弹(<爬取get请求的页面数据>)
一.urllib库 urllib是python自带的一个用于爬虫的库,其主要作用就是通过代码模拟浏览器发送请求,其常被用到的子模块在 python3中的为urllib.request 和 urllib ...
- 【万能的DFS和BFS基础框架】-多刷题才是硬道理!
- evpp http put问题
https://blog.csdn.net/yuzuyi2006/article/details/82112664 最近做了一个项目需要实现web服务,使用了evpp.但是在用的过程中碰到了http ...
- P1038 神经网络[拓扑]
题目背景 人工神经网络(Artificial Neural Network)是一种新兴的具有自我学习能力的计算系统,在模式识别.函数逼近及贷款风险评估等诸多领域有广泛的应用.对神经网络的研究一直是当今 ...