}
private String startStatsJob(int mapShardCount, int reduceShardCount) {
// (I, K, V, O, R)
// Input<I>, Input<Entity>, so I=Entity
Input input = new DatastoreInput("Reading", mapShardCount);
// Mapper<I,K,V>, Mapper<Entity, String, String>, so I=Entity, K=String, V=String
Mapper<Entity, String, String> mapper = new ReadingMapper();
// Reducer<K,V,O>, Reducer<String, String, ReadingHistory>, so K=String, V=String,