하둡 맵리 듀스 예제

패키지 테스트;


import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;




import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.io.NullWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.Reducer;
import org.apache.hadoop.mrunit.mapreduce.MapReduceDriver;
import org.bson.BSONObject;
import org.bson.BasicBSONObject;
import org.bson.types.BasicBSONList;
import org.codehaus.jettison.json.JSONException;


import com.mongodb.DBObject;
import com.mongodb.hadoop.MongoInputFormat;
import com.mongodb.hadoop.MongoOutputFormat;
import com.mongodb.hadoop.io.BSONWritable;
import com.mongodb.util.JSON;


public class TestCount {


public static class AppMap extends Mapper <Object, BSONObject, Text, Text> {
public void map (Object key, BSONObject dbObjectFromDB, Context context) {
{

context.write (new Text ( "111111"), new Text ( "22222222222"));

} catch (예외 e) {
e.printStackTrace ();
}
}
}


/ * reduce는지도에서 전송 한 데이터를 처리하고 계산을 수행합니다. * /
public static class Reduce extends Reducer <Text, Text, NullWritable, BSONWritable> {
public void reduce (Text key, Iterable <Text> values, Context context) {
{


BSONWritable bson = 새로운 BSONWritable ();

context.write (NullWritable.get (), bson);
} catch (예외 e) {
e.printStackTrace ();
}
}
}


// 작업 실행
public static void main (String [] args) throws Exception {


구성 conf = new Configuration ();
conf.set ( "mongo.input.uri", "mongodb : // u2 : 27017 / test.test_table1");
conf.set ( "mongo.output.uri", "mongodb : // u2 : 27017 / test.test_table2");




작업 작업 = Job.getInstance (conf, "TestCount");
job.setJarByClass (AppCount.class);
job.setMapperClass (AppMap.class);
job.setReducerClass (Reduce.class);
job.setInputFormatClass (MongoInputFormat.class);
job.setMapOutputKeyClass (Text.class);
job.setMapOutputValueClass (Text.class);
job.setOutputKeyClass (NullWritable.class);
job.setOutputValueClass (BSONWritable.class);
job.setOutputFormatClass (MongoOutputFormat.class);


System.exit (job.waitForCompletion (true)? 0 : 1);
}



}

추천

출처blog.csdn.net/zgb40302/article/details/50404907