当我们使用具有HDFS输入/输出的MR作业时,MR作业表现为事务性的,即它成功执行或者如果写入HDFS的数据被丢回,我们不会得到部分结果,例如10行中的3行出现在输出中。
但是当我们在HBase上运行相同的MR工作时,它表现为非事务性的,即如果我必须将10个对象放入HTable并且我调用context.write(...)
3次并且在第4次迭代时失败,那么我可以看到3个放入HBase虽然MR作业失败了。
我们有什么方法可以通过HBase进行交易MR工作?即整个输出写入HBase或无输出写入HBase。
提前致谢。