// Reducer<K,V,O>, Reducer<String, String, ReadingHistory>, so K=String, V=String,
// O=ReadingHistory
Reducer<String, String, ReadingHistory> reducer = new ReadingReducer();
// Output<O,R>, Output<ReadingHistory>, so O=ReadingHistory, R=Void
Output output = new DatastoreOutput();
MapReduceSpecification<Entity, String, String, ReadingHistory, Object> mrspecs =
new MapReduceSpecification.Builder<>(input, mapper, reducer, output)
.setKeyMarshaller(Marshallers.getStringMarshaller())
.setValueMarshaller(Marshallers.getStringMarshaller()).setNumReducers(reduceShardCount)