0

我使用了 zohmg 并成功地在 HBase 中创建了映射器、表并测试导入了我的数据(使用 --local 开关)。
但是我在映射到 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 的问题?)

4

1 回答 1

0

Hadoop 0.20 引入了一个新包 . org.apache.hadoop.mapreduce,并弃用了旧包org.apache.hadoop.mapred. HBase 0.20 紧随其后,支持 map reduce。看起来这段代码期待旧 api 的 OutputFormat,但获取新 api 的 HBase TableOutputFormat。

看起来 github 上的最新提交可能对此有所帮助,它说“添加了用于恢复旧 api 的补丁”。(看起来也有一段时间没有任何活动了。) http://github.com/zohmg/zohmg/commits/master

于 2010-06-28T23:55:54.197 回答