gpt4 book ai didi

hadoop - Hadoop jar提交错误java.lang.InstantiationException

转载 作者:行者123 更新时间:2023-12-02 20:06:43 26 4
gpt4 key购买 nike

我正在尝试在hadoop文件系统上运行我的jar,但遇到此异常
See image

如果我从eclipse运行,我的代码将成功运行。

这是我的亚军主类

    public class ReadCassandra extends Configured implements Tool{

public static void main(String args[]){
try{
/*ToolRunner.run(new Configuration(),new ReadCassandra(), args);
System.exit(0);*/

String keyspace ="Read_log";
String clg ="readValidPost";
String rowkey="117761667160131";
List<ByteBuffer> cn = new ArrayList<ByteBuffer>();
List<String> cl = new ArrayList<String>();
cl.addAll(MyHector.getColumn(rowkey));
for (String string : cl) {
ByteBuffer bf = ByteBufferUtil.bytes(string);
cn.add(bf);
}
Configuration conf = new Configuration();
Job job = new Job(conf,"MEJfsd");
//job.setJarByClass(ReadCassandra.class);

job.setInputFormatClass(AbstractColumnFamilyInputFormat.class);
job.setOutputFormatClass(TextOutputFormat.class);

job.setOutputKeyClass(Text.class);
job.setOutputValueClass(Text.class);

job.setMapperClass(MyMapper.class);
job.setReducerClass(MyReducer.class);

ConfigHelper.setInputRpcPort(job.getConfiguration(), "9160");
ConfigHelper.setInputInitialAddress(job.getConfiguration(), "127.0.0.1");
ConfigHelper.setInputPartitioner(job.getConfiguration(), "org.apache.cassandra.dht.Murmur3Partitioner");
ConfigHelper.setInputColumnFamily(job.getConfiguration(), keyspace, clg);

SlicePredicate predicate = new SlicePredicate().setColumn_names(cn);
ConfigHelper.setInputSlicePredicate(job.getConfiguration(), predicate);

FileSystem.get(job.getConfiguration()).delete(new Path("Output"), true);
FileOutputFormat.setOutputPath(job, new Path("Output"));
job.waitForCompletion(true);

}catch(Exception e){
e.printStackTrace();
}
}

public int run(String[] arg0) throws Exception {


return (1);
}


}

我正在使用命令运行
hadoop jar /home/winoria/Documents/JarFiles/ReadCas.jar ReadCassandra

最佳答案

您正在将输入格式类设置为抽象类:

 job.setInputFormatClass(AbstractColumnFamilyInputFormat.class);

您需要将其设置为可实例化的内容。但是我不了解Cassandra-Hadoop集成以及您认为什么有意义。只要确保它不是一个抽象类即可。

关于hadoop - Hadoop jar提交错误java.lang.InstantiationException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22299807/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com