这是我第二次遇到这个问题(第一次使用hadoop + mongodb)。
基本上每个分区有一个映射(具有mongo的块,具有hbase的区域),然后所有数据都被发送到reducer(在shuffle,sort和(opt。)组合之后)。
默认情况下,每台服务器有2个reducer(tasktracker),我有3个节点集群,所以我有6个reducer。
问题在于:我的reducers“返回”(context.write())将实例放到hbase(或BSONWritable到mongodb)但通常,一个键被许多reducer减少。假设密钥A减少了6个减速器。每个人都发回一个Put to hbase(BSONWritable to mongodb)=>我得到的部分结果(也许是最后一次发送?)!
有任何帮助吗?如果您需要更多信息,请告诉我。
谢谢!