def streaming_step_properties(input, output, mapper, reducer=None,
    arguments=None):
    """
    Create streaming step properties

    :param input: the input path of step 
    :type input: string

    :param output: the output path of step 
    :type output: string

    :param mapper: the mapper program of step 
    :type mapper: string

    :param reducer: the reducer program of step 
    :type reducer: string

    :param arguments: arguments for the step
    :type arguments: string

    :return:
    :rtype map
    """
    streaming_step = {'mapper': mapper, 'reducer': '', 'input': input,
        'output': output}
    if reducer is not None:
        streaming_step['reducer'] = reducer
    if arguments is not None:
        streaming_step['arguments'] = arguments
    return streaming_step
