我可以使用Hadoop Streaming在.NET中使用thrift在HBase上运行MapReduce作业吗?或者还有其他方法可以在.NET上从HBase运行MapReduce作业吗?
答案 0 :(得分:0)
您也可以使用REST API(stargate)。但是,thrift或stargate服务器都不是运行MapReduce作业的好方法。两者都需要一个单独的守护程序进程,该进程可能是单个争用点,并且不会提供数据局部性。 java mapreduce api标识输入拆分的数据本地区域。所以关键是使用带有.Net的java api。 This question为hbase的流API提供第三方增强功能,允许您通过stdin / stdout使用.Net应用。
答案 1 :(得分:-5)
我成功实现了这一目标。所以,答案是肯定的,可以做到。
修改强>
我不知道为什么要投票,问题有答案,但以下是我如何实现它:
Thrift比REST API更轻量级,并且在某些情况下比java api提供更多性能,我使用了Hadoop Streaming API并给它自己的Mapper实现,它使用Thrift与hbase通信,例如。
bin/hadoop jar contrib/streaming/hadoop-*-streaming.jar -input input/sample.txt -output output -mapper input/StdInOut.exe -reducer NONE