Package test

Source Code of test.InfiniDoopDriver

package test;

import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
import java.sql.*;
import java.util.Date;
import java.util.Formatter;
import java.io.IOException;

import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.io.LongWritable;
//import org.apache.hadoop.io.DoubleWritable;
import org.apache.hadoop.io.Writable;
import org.apache.hadoop.mapred.lib.db.*;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.lib.input.*;
import org.apache.hadoop.mapreduce.lib.output.*;
import org.apache.hadoop.mapred.JobClient;
import org.apache.hadoop.mapred.JobConf;
import org.apache.hadoop.mapred.Mapper;
import org.apache.hadoop.mapred.Reducer;
import org.apache.hadoop.conf.*;
import org.apache.hadoop.util.*;
import org.apache.hadoop.*;
import idb_hadoop.*;

public class InfiniDoopDriver extends Configured implements Tool
{
  public int run (String[] args) throws Exception
 
    Configuration conf = new Configuration();
    JobConf jobconf = new JobConf(conf, InfiniDoopDriver.class);
    DBConfiguration.configureDB(jobconf,
             "com.mysql.jdbc.Driver",
             "jdbc:mysql://srvswint4/tpch1","root", "");
    String [] fields = { "n_nationkey", "n_name" };
    String [] outFields = {"id", "name"};
    jobconf.setInputFormat(InfiniDBInputFormat.class);
    //Class.forName(jobconf.get(DBConfiguration.DRIVER_CLASS_PROPERTY));
    //Connection connection = DriverManager.getConnection("jdbc:mysql://srvswint4/tpch1?user=root");
 
        //Job job = new Job(jobconf, "infinidb_driver");
        jobconf.setOutputKeyClass(LongWritable.class);
        jobconf.setOutputValueClass(Text.class);
        //jobconf.setMapOutputKeyClass(LongWritable.class);
        //jobconf.setMapOutputValueClass(LongWritable.class);
       
        InfiniDBInputFormat.setInput(jobconf, InfiniDoopRecord.class, "nation",
           null,  "n_nationkey", fields);
       
        //InfiniDBInputFormat.setInput(jobconf, InfiniDBRecord.class, "select * from nation", "select count(*) from nation");
    Job job = new Job(jobconf);
    jobconf.set("mapred.output.dir", "output1");
        jobconf.setMapperClass(InfiniDoopInputMapper.class);
        jobconf.setNumMapTasks(4);
        jobconf.setNumReduceTasks(8);
        JobClient client = new JobClient();
        //System.out.println(jobconf.getUser());
        //System.out.println(FileOutputFormat.getOutputPath(jobconf));

        //int i = (job.waitForCompletion(true)? 1: 0);
        //return i;
        client.setConf(jobconf);
    try {
      JobClient.runJob(jobconf);
    } catch (Exception e) {
      e.printStackTrace();
    }
   
    return 0;
}
  public static void main(String [] args) throws Exception
  {
    int ret = ToolRunner.run(new InfiniDoopDriver(), args);
    System.exit(ret);
  }

}
TOP

Related Classes of test.InfiniDoopDriver

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.