【MapReduce】 报错 : java.lang.RuntimeException: java.lang.InstantiationException


Informar un errorInserte la descripción de la imagen aquí


Análisis de causa

package 美国疫情.州分区;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.NullWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.lib.db.DBConfiguration;
import org.apache.hadoop.mapreduce.lib.db.DBInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
import org.apache.hadoop.mapreduce.lib.output.TextOutputFormat;

public class Driver3 {
    
    
    public static void main(String[] args) {
    
    
        try {
    
    
            // 获取job
            Configuration conf = new Configuration();
            // 配置数据库
            DBConfiguration.configureDB(
                    conf,
                    "com.mysql.jdbc.Driver",
                    "jdbc:mysql://192.168.64.178:3306/school",
                    "root","123456"
            );
            Job job = Job.getInstance(conf);

            // 配置map、reduce、driver
            job.setMapperClass(Map3.class);
            job.setMapOutputKeyClass(Text.class);
            job.setMapOutputValueClass(BeanSQL.class);

            job.setReducerClass(Reduce3.class);
            job.setOutputKeyClass(BeanSQL.class);
            job.setOutputValueClass(NullWritable.class);

            job.setJarByClass(Driver3.class);

            // 配置分区类
            job.setPartitionerClass(StatePartition.class);
            job.setNumReduceTasks(7);

            // 配置数据输入输出
            job.setInputFormatClass(DBInputFormat.class);
            job.setOutputFormatClass(TextOutputFormat.class);
            String[] fields = {
    
    "date","country","state","fips","cases","deaths"};
            DBInputFormat.setInput(job,BeanSQL.class,"usa",null,"",fields);
            FileOutputFormat.setOutputPath(job,new Path("G:/Cache/MR/output_usa"));

            // 提交job
            System.exit(job.waitForCompletion(true) ? 0:1);
        } catch (Exception e){
    
    
            e.printStackTrace();
        }
    }
}

¡Al principio de los programas de escritura job.setOutputFormatClass(TextOutputFormat.class);escritos en la job.setOutputFormatClass(FileOutputFormat.class);clase de salida definida aquí incorrectamente!

Para los tipos de salida comunes, consulte: [MapReduce] ---- OutputFormat Salida de datos del principio del marco MR


Supongo que te gusta

Origin blog.csdn.net/qq_45797116/article/details/115358287
Recomendado
Clasificación