I think you will need an additional job, as the reducer has to return the centers and the centers are then loaded into memory. The association with the points in the data set will take one row per point and won't fit main memory. I am guessing here, you know the data sizes at play here. So you will need to do a final pass, map only, where you calculate and return the associations. In the java API there is a multiple output feature, but we can't access it from R AFAIK so I don't think there's another way,
Antonio