예제 #1
0
def simple_run(udf_class, args):
    """
    """
    proto = udf.get_annotation(udf_class)
    in_types, out_types = parse_proto(proto)
    feed = direct_feed(args)
    collector = DirectCollector(out_types)
    ctor = _get_runner_class(udf_class)
    runner = ctor(udf_class, feed, collector)
    runner.run()
    return collector.results
예제 #2
0
def get_default_runner(udf_class, input_col_delim=',', null_indicator='NULL'):
    """Create a default runner with specified udf class.
    """
    proto = udf.get_annotation(udf_class)
    in_types, out_types = parse_proto(proto)
    arg_parser = ArgParser(in_types, input_col_delim, null_indicator)
    raw_feed = make_file_raw_feed(sys.stdin)
    stdin_feed = make_feed(raw_feed, arg_parser)
    collector = StdoutCollector(out_types)
    ctor = _get_runner_class(udf_class)
    return ctor(udf_class, stdin_feed, collector)