'Handles start request.'

def handle(self):

    mapreduce_name = self._get_required_param('name')
    mapper_input_reader_spec = self._get_required_param('mapper_input_reader')
    mapper_handler_spec = self._get_required_param('mapper_handler')
    mapper_params = self._get_params('mapper_params_validator', 'mapper_params.')
    params = self._get_params('params_validator', 'params.')
    mapper_params['processing_rate'] = int((mapper_params.get('processing_rate') or model._DEFAULT_PROCESSING_RATE_PER_SEC))
    queue_name = mapper_params['queue_name'] = mapper_params.get('queue_name', 'default')
    mapper_spec = model.MapperSpec(mapper_handler_spec, mapper_input_reader_spec, mapper_params, int(mapper_params.get('shard_count', model._DEFAULT_SHARD_COUNT)))
    mapreduce_id = type(self)._start_map(mapreduce_name, mapper_spec, params, base_path=self.base_path(), queue_name=queue_name, _app=mapper_params.get('_app'))
    self.json_response['mapreduce_id'] = mapreduce_id
