什么影响mrjob输出的排序顺序?

时间:2015-08-10 21:46:10

标签: python mrjob

我有一个基于mrjob的项目,有自动化测试。一个测试在本地针对已知输入运行mrjob,并断言实际输出与预期输出匹配。

问题是测试在开发环境中通过,但在连续集成中失败。 失败是由于输出行的排序顺序。

我可以做些什么来确保输出在不同环境中一致排序(无需手动对bash中的文件进行排序)?我已经对输入文件进行了一致的排序。

我在dev和CI之间检查了以下内容:操作系统版本是相同的(好吧,差不多:Ubuntu 14.04.3 vs 14.04.2),Python版本是相同的(2.7.6),语言环境是相同的(en_US。 UTF-8)。

FWIW我以编程方式开始工作:

mr_job = myMrjob(args=args)
with mr_job.make_runner() as runner, open(output_filename, 'w') as fout:
    runner.run()
    for line in runner.stream_output():
        fout.write(line)

0 个答案:

没有答案