package com.mongodb.hadoop.examples.sensors; import com.mongodb.hadoop.MongoInputFormat; import com.mongodb.hadoop.MongoOutputFormat; import com.mongodb.hadoop.io.BSONWritable; import com.mongodb.hadoop.util.MapredMongoConfigUtil; import com.mongodb.hadoop.util.MongoConfigUtil; import com.mongodb.hadoop.util.MongoTool; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.util.ToolRunner; import java.net.UnknownHostException; public class Devices extends MongoTool { public Devices() throws UnknownHostException { setConf(new Configuration()); if (MongoTool.isMapRedV1()) { MapredMongoConfigUtil.setInputFormat(getConf(), com.mongodb.hadoop.mapred.MongoInputFormat.class); MapredMongoConfigUtil.setOutputFormat(getConf(), com.mongodb.hadoop.mapred.MongoOutputFormat.class); } else { MongoConfigUtil.setInputFormat(getConf(), MongoInputFormat.class); MongoConfigUtil.setOutputFormat(getConf(), MongoOutputFormat.class); } MongoConfigUtil.setInputURI(getConf(), "mongodb://localhost:27017/mongo_hadoop.devices"); MongoConfigUtil.setOutputURI(getConf(), "mongodb://localhost:27017/mongo_hadoop.logs_aggregate"); MongoConfigUtil.setMapper(getConf(), DeviceMapper.class); MongoConfigUtil.setReducer(getConf(), DeviceReducer.class); MongoConfigUtil.setMapperOutputKey(getConf(), Text.class); MongoConfigUtil.setMapperOutputValue(getConf(), Text.class); MongoConfigUtil.setOutputKey(getConf(), IntWritable.class); MongoConfigUtil.setOutputValue(getConf(), BSONWritable.class); new SensorDataGenerator().run(); } public static void main(final String[] pArgs) throws Exception { System.exit(ToolRunner.run(new Devices(), pArgs)); } }