mrjob.inline - debugger-friendly local testing

class mrjob.inline.InlineMRJobRunner(mrjob_cls=None, **kwargs)

Runs an MRJob in the same process, so it’s easy to attach a debugger.

This is the default way to run jobs (we assume you’ll spend some time debugging your job before you’re ready to run it on EMR or Hadoop).

Unlike other runners, InlineMRJobRunner‘s run() method raises the actual exception that caused a step to fail (rather than StepFailedException).

To more accurately simulate your environment prior to running on Hadoop/EMR, use -r local (see LocalMRJobRunner).

InlineMRJobRunner.__init__(mrjob_cls=None, **kwargs)

InlineMRJobRunner takes the same keyword args as MRJobRunner. However, please note:

  • hadoop_input_format, hadoop_output_format, and partitioner are ignored because they require Java. If you need to test these, consider starting up a standalone Hadoop instance and running your job with -r hadoop.
  • python_bin, setup, and steps_python_bin are ignored because we don’t invoke subprocesses.