MapReduce 의 Job 구동 류
메모: 이 함 수 는 확장 되 지 않 았 습 니 다. 간단 한 패키지 Job 방법 입 니 다. 예 를 들 어 파 티 션 정렬 을 하고 이 함 수 를 재 구성 하 는 것 을 권장 합 니 다.
package com;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.Reducer;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
import java.io.IOException;
import java.net.URISyntaxException;
/**
* $ : Drive
*
* @author :smart-dxw
* @version : 2019/6/21 20:22 v1.0
*/
public class Drive {
/**
* @param object run
* @param mymap map
* @param mymapkey mapkey
* @param mymapvalue mapvalue
* @param myreduce reduce
* @param myreducekey reducekey
* @param myreducevalue reducevalue
* @param args1 1
* @param args2 2
* @throws IOException
* @throws ClassNotFoundException
* @throws InterruptedException
* @throws URISyntaxException
*/
public static void run(Class> object, Class extends Mapper> mymap, Class> mymapkey, Class> mymapvalue, Class extends Reducer> myreduce, Class> myreducekey, Class> myreducevalue, String args1, String args2) throws IOException, ClassNotFoundException, InterruptedException, URISyntaxException {
// 1 job
Configuration conf = new Configuration();
Job job = Job.getInstance(conf);
// 2 jar
job.setJarByClass(object);
// 3 map reduce
job.setMapperClass(mymap);
// 4
job.setMapOutputKeyClass(mymapkey);
job.setMapOutputValueClass(mymapvalue);
// reduce
job.setReducerClass(myreduce);
job.setOutputKeyClass(myreducekey);
job.setOutputValueClass(myreducevalue);
//
Path path = new Path(args2);
FileSystem fs = FileSystem.get(conf);
if (fs.exists(path)) {
fs.delete(path, true);
}
// 5
FileInputFormat.setInputPaths(job, new Path(args1));
FileOutputFormat.setOutputPath(job, new Path(args2));
// 6
job.waitForCompletion(true);
}
}
호출 방식 은 반복 적 으로 작성 할 수 있 습 니 다. 아 리 플러그 인 알림 을 설치 한 친 구 는 경 고 를 피 할 수 있 습 니 다!
package com.studentExam.avgscore;
import com.Drive;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import java.io.IOException;
import java.net.URISyntaxException;
/**
* $ : run
*
* @author :smart-dxw
* @version : 2019/6/19 22:02 v1.0
*/
public class AvgRun {
public static void main(String[] args) throws ClassNotFoundException, URISyntaxException, InterruptedException, IOException {
args = new String[]{
"C:\\studentExam\\01\\in",
"C:\\studentExam\\01\\AvgRun"
};
Drive.run(AvgRun.class,
AvgMapper.class,
Text.class,
IntWritable.class,
AvgReducer.class,
Text.class,
Text.class,
args[0],
args[1]);
}
}
철 아 힘 내!공사 장 에서 기다 릴 게!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
spark 의 2: 원리 소개Google Map/Reduce 를 바탕 으로 이 루어 진 Hadoop 은 개발 자 에 게 map, reduce 원 어 를 제공 하여 병렬 일괄 처리 프로그램 을 매우 간단 하고 아름 답 게 만 들 었 습 니 다.S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.