As far as I know, you cannot have an array of output in the gearbox class. What comes to my mind to solve your problem is this:
MR1 {a,b,c} - {timestamp,idCount} {timestamp, loginCount} {timestamp, someCount} . MR2-4.
, :
MR1 <inputKey,inputValue,outputKey,outPutValue> where outputKey is
"a" for outValue`{timestamp,idCount}
"b" for outValue`{timestamp, loginCount}
"c" for outValue`{timestamp, someCount}
MR2-4<inputKey,inputValue,outputKey,outPutValue> if inputkey is "a" do MR2
if inputkey is "b" do MR3
if inputkey is "c" do MR4
, Partitioner and GroupComperator, {key/value}, mapper/reducer key+some_part_of_value .