有时我想执行一些简单的轻量级MapReduce。 “简单”意味着它使用了非常简单的算法,“轻量级”意味着我可以用某种脚本语言(或类似的语言)用几行代码来实现它。
我当前的任务是从本地文件系统上的目录中的文件中获取数据,进行最少的处理,然后将其写入HBase。 Hadoop流可以从本地文件系统读取。但是,它无法写入HBase。有hadoop-hbase-streaming项目声明了这种功能。不幸的是我无法正常工作。我想这是因为对库存储的最后一次提交是在2008年。我的任务看起来很普通,我想知道为什么自2008年以来没有对hadoop-hbase-streaming库进行任何更新。我想,如今还有其他一些方法可以达到我的目的。你能告诉我,这些方式是什么?
最佳答案
我一直在写MR,它将MR将旧版本的Hadoop中的数据从本地文件系统加载到HBase(Hadoop 1,我不记得是哪个版本),现在我不得不重写它,因为Hadoop库完全不同(当前使用CDH5.0.1)。 )。因此,我并不奇怪hadoop hbase流无法正常工作。但是我发现(对我而言)最简单,最简单的方法是使用Pig从本地目录上载数据到HBase。我尝试了这个示例,它对我来说非常完美:
Using Pig to Bulk Load Data Into HBase
不幸的是,我不知道还有其他更简单的解决方案...祝您好运,希望对您有所帮助
关于hadoop - 具有本地目录输入和HBase输出的脚本化MapReduce,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25204349/