我使用了zohmg并成功创建了映射器,HBase中的表并测试导入了我的数据(使用--local switch)。
但是我在映射到HBase后插入数据时遇到问题,这是我得到的错误:
Exception in thread "main" java.lang.RuntimeException: class org.apache.hadoop.hbase.mapreduce.TableOutputFormat not org.apache.hadoop.mapred.OutputFormat
at org.apache.hadoop.conf.Configuration.setClass(Configuration.java:1034)
at org.apache.hadoop.mapred.JobConf.setOutputFormat(JobConf.java:471)
at org.apache.hadoop.streaming.StreamJob.setJobConf(StreamJob.java:818)
at org.apache.hadoop.streaming.StreamJob.run(StreamJob.java:122)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79)
at org.apache.hadoop.streaming.HadoopStreaming.main(HadoopStreaming.java:50)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.util.RunJar.main(RunJar.java:186)
你有什么线索可以帮我解决吗? (或者也许这是Dumbo的问题?)
答案 0 :(得分:0)
Hadoop 0.20引入了一个新软件包org.apache.hadoop.mapreduce
,并弃用了旧软件包org.apache.hadoop.mapred
。 HBase 0.20紧随其地图缩减支持。看起来这段代码期望旧api的OutputFormat,但是为新api获取HBase TableOutputFormat。
看起来github上的最新提交可能对此有所帮助,它说“添加补丁以恢复旧api”。 (看起来好像暂时没有任何活动。) http://github.com/zohmg/zohmg/commits/master