线程 org.apache.hadoop.mapred.InvalidJobConfException 中的异常"main":未设置输出目录



大家可以帮我清除下面的错误吗?当我从hdfs文件中插入数据到hbase表时,我正在运行Mapreduce作业。使用HFileOutputFormat.class,之前我使用MultiTableOutputFormat.class运行相同的工作很好,但是在向hbase表中插入数据时花费了太多时间。

所以你能帮我吗?:) *

job.setMapOutputKeyClass (ImmutableBytesWritable.class);job.setMapOutputValueClass (Put.class);job.setInputFormatClass (TextInputFormat.class);
job.setOutputFormatClass (HFileOutputFormat.class);job.setMapperClass (Map.class);HTable = new HTable(conf,"ARK_3000");HFileOutputFormat。configureIncrementalLoad(工作,hTable);

安全错误。UserGroupInformation: PriviledgedActionException: reddym(身份验证:简单)原因:org.apache.hadoop.mapred。InvalidJobConfException:输出未设置目录。线程"main"中的异常org.apache.hadoop.mapred.InvalidJobConfException:输出目录没有集。

谢谢Madhusudhana Reddy

确保输出目录没有写保护,然后再试一次。不要使用像驱动器根目录那样的目录。希望这对你有所帮助关于

编辑:试着在它要求你输入输出目录

的地方添加这个
HFileOutputFormat.setOutputPath(conf, new Path(<YOUR_LOCATION>));

FileOutputFormat.setOutputPath(conf, new Path(<YOUR_LOCATION>));

您需要提到输出目录,以便它知道将数据写入到哪里。

希望这有助于你进一步解决你的问题,如果你需要更多的帮助,请告诉我。因为我总是很乐意帮忙。

编辑2:您需要提到一个输出目录,因为您要写入的表存储在内存中,当您结束程序时,内存中的所有数据都会丢失。例如,如果程序崩溃,所有数据都将丢失,除非将其写入磁盘。因此,保存到输出目录的数据是一个备份,以防出现任何问题。

我希望这清楚地回答了你的问题,如果你需要更多的帮助,请留下另一个评论问候汤姆

相关内容

  • 没有找到相关文章

最新更新