def split_input(cls, mapper_spec):
    """Returns a list of input readers for the given input specification.

    Args:
      mapper_spec: The MapperSpec for this InputReader.

    Returns:
      A list of InputReaders.
    """
    params = _get_params(mapper_spec)
    shard_count = mapper_spec.shard_count

    # Pick out the overall start and end times and time step per shard.
    start_time = params[cls.START_TIME_PARAM]
    end_time = params[cls.END_TIME_PARAM]
    seconds_per_shard = (end_time - start_time) / shard_count

    # Create a LogInputReader for each shard, modulating the params as we go.
    shards = []
    for _ in xrange(shard_count - 1):
      params[cls.END_TIME_PARAM] = (params[cls.START_TIME_PARAM] +
                                    seconds_per_shard)
      shards.append(LogInputReader(**params))
      params[cls.START_TIME_PARAM] = params[cls.END_TIME_PARAM]

    # Create a final shard to complete the time range.
    params[cls.END_TIME_PARAM] = end_time
    return shards + [LogInputReader(**params)]
def split_input ( cls , mapper_spec ) : params = _get_params ( mapper_spec ) shard_count = mapper_spec . shard_count start_time = params [ cls . START_TIME_PARAM ] end_time = params [ cls . END_TIME_PARAM ] seconds_per_shard = ( end_time - start_time ) / shard_count shards = [ ] for _ in xrange ( shard_count - 1 ) : params [ cls . END_TIME_PARAM ] = ( params [ cls . START_TIME_PARAM ] + seconds_per_shard ) shards . append ( LogInputReader ( ** params ) ) params [ cls . START_TIME_PARAM ] = params [ cls . END_TIME_PARAM ] params [ cls . END_TIME_PARAM ] = end_time return shards + [ LogInputReader ( ** params ) ]
Returns a list of input readers for the given input specification.

    Args:
      mapper_spec: The MapperSpec for this InputReader.

    Returns:
      A list of InputReaders.