嘿,大家能帮我清除下面的错误吗?当我运行mapreduce job fopr将数据从hdfs文件插入hbase表时,我得到了这个结果。使用 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 htable=新htable(conf,“ark_”);hfileoutputformat.configureincrementalload(作业,htable);
错误security.usergroupinformation:priviledgedactionexception as:reddym(auth:simple) cause:org.apache.hadoop.mapred.invalidjobconfexception:未设置输出目录。线程“main”org.apache.hadoop.mapred.invalidJobConfeption中出现异常:未设置输出目录。
谢谢madhusudhana reddy
1条答案
按热度按时间j8ag8udp1#
请确保输出目录没有写保护,然后重试不要使用驱动器的根目录。希望这有助于问候
编辑:尝试在它要求您输入输出目录的地方添加它
或者
FileOutputFormat.setOutputPath(conf, new Path(<YOUR_LOCATION>));
您需要提到输出目录,以便它知道将数据写入何处。希望这有助于你进一步解决你的问题,让我知道如果你需要更多的帮助。因为我总是乐意帮忙。
编辑2:您需要提到一个输出目录,因为您要写入的表存储在内存中,当您结束程序时,内存中的所有数据都将丢失。例如,如果程序崩溃,除非数据写入磁盘,否则所有数据都将丢失。所以保存到输出目录的数据是一个备份,以防出错。
我希望这能清楚地回答你的问题,如果你需要更多的帮助,请给汤姆留言