我在这方面工作了很长时间,感觉很累;我希望来自 SO 社区的 [明显?] 见解可能会让我的宠物项目重新开始,这样我就可以停止踢自己了。我正在使用 Cloudera CDH3、HBase .89 和 Hadoop .20。
我有一个 Python/Django 应用程序,它使用 Thrift 接口将数据写入单个 HBase 表,效果很好。现在我想将它映射/减少到更多的 HBase 表中。
这里明显的答案是 Dumbo 或 Apache PIG,但是对于 Pig,HBaseStorage 适配器支持不适用于我的版本(Pig 能够加载类和定义,但在“映射”步骤冻结,抱怨“输入拆分”;Pig 邮件列表表明这是在 Pig 0.8 中修复的,它与 CDH3 Hadoop 不兼容,所以我必须使用所有东西的边缘版本 [我认为])。我找不到任何关于如何让 Dumbo 使用 HBaseStorage 作为数据接收器的信息。
我不在乎它是 Python、Ruby、Scala、Clojure、Jython、JRuby 还是 PHP,我只是真的不想写 Java(有很多原因,其中大部分都涉及到我每次遇到的下沉感觉必须将 Int() 转换为 IntWritable() 等)。
我已经尝试了所有我能找到的最后一个解决方案和示例(过去 4 周),用于用替代语言编写 HBase Map/Reduce 作业,但一切似乎都过时或不完整。请 Stack Overflow 把我从我自己的设备中拯救出来!