Ejemplo n.º 1
0
                out.add("red_" + k, "red_" + v)
        
tserver.run_server(data_gen)

inputs = ["ape", "cat", "dog"]
params = {"test1": "1,2,3",\
          "one two three": "dim\ndam\n",\
          "dummy": "value"}

job = Disco(sys.argv[1]).new_job(
            name = "test_external",
            input = tserver.makeurl(inputs),
            map = external(["ext_test"]), 
            reduce = fun_reduce, 
            ext_params = params,
            nr_reduces = 1,
            sort = False)

results = sorted([(v, k) for k, v in result_iterator(job.wait())])
for i, e in enumerate(results): 
        v, k = e
        if k != "red_dkey" or v != "red_test_%s" % inputs[i / 3]:
                raise Exception("Invalid answer: %s, %s" % (k, v))

if len(results) != 9:
        raise Exception("Wrong number of results: %u vs. 9" % len(results))

job.purge()

print "ok"
Ejemplo n.º 2
0
    params={"suffix": "0"},
).wait()

i = 1
while i < 10:
    nresults = disco.new_job(
        name="test_chain_%d" % i,
        input=results,
        map=fun_map,
        reduce=fun_reduce,
        nr_reduces=4,
        map_reader=chain_reader,
        sort=False,
        clean=True,
        params={"suffix": str(i)},
    ).wait()

    disco.purge(jobname(results[0]))
    results = nresults
    i += 1

for key, value in result_iterator(results):
    if key[:5] not in ani or key[5:] != "0-1-2-3-4-5-6-7-8-9-":
        raise "Corrupted key: %s" % key
    if value != "9":
        raise "Corrupted value: %s" % value

disco.purge(jobname(results[0]))

print "ok"