Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

Download
ActivePython
INSTALL>
pypm install mrjob

How to install mrjob

  1. Download and install ActivePython
  2. Open Command Prompt
  3. Type pypm install mrjob
 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
0.3.3.2
0.4-RC1Never BuiltWhy not?
0.3.3.2 Available View build log
0.3.2 Available View build log
0.3.1 Available View build log
0.3.0 Available View build log
0.2.8 Available View build log
0.2.7 Available View build log
0.2.6 Available View build log
0.2.5 Available View build log
0.2.4 Available View build log
0.2.3 Available View build log
0.2.2 Available View build log
0.2.1 Available View build log
0.2.0 Available View build log
0.1.0 Available View build log
0.1.0-pre3 Available View build log
0.1.0-pre2 Available View build log
0.1.0-pre1 Available View build log
Windows (64-bit)
0.3.3.2
0.4-RC1Never BuiltWhy not?
0.3.3.2 Available View build log
0.3.2 Available View build log
0.3.1 Available View build log
0.3.0 Available View build log
0.2.8 Available View build log
0.2.7 Available View build log
0.2.6 Available View build log
0.2.5 Available View build log
0.2.4 Available View build log
0.2.3 Available View build log
0.2.2 Available View build log
0.2.1 Available View build log
0.2.0 Available View build log
0.1.0 Available View build log
0.1.0-pre3 Available View build log
0.1.0-pre2 Available View build log
0.1.0-pre1 Available View build log
Mac OS X (10.5+)
0.3.3.2
0.4-RC1Never BuiltWhy not?
0.3.3.2 Available View build log
0.3.2 Available View build log
0.3.1 Available View build log
0.3.0 Available View build log
0.2.8 Available View build log
0.2.7 Available View build log
0.2.6 Available View build log
0.2.5 Available View build log
0.2.4 Available View build log
0.2.3 Available View build log
0.2.2 Available View build log
0.2.1 Available View build log
0.2.0 Available View build log
0.1.0 Available View build log
0.1.0-pre3 Available View build log
0.1.0-pre2 Available View build log
0.1.0-pre1 Available View build log
Linux (32-bit)
0.4-RC1 Available View build log
0.3.5 Available View build log
0.3.4.1 Available View build log
0.3.3.2 Available View build log
0.3.2 Available View build log
0.3.1 Available View build log
0.3.0 Available View build log
0.2.8 Available View build log
0.2.7 Available View build log
0.2.6 Available View build log
0.2.5 Available View build log
0.2.4 Available View build log
0.2.3 Available View build log
0.2.2 Available View build log
0.2.1 Available View build log
0.2.0 Available View build log
0.1.0 Available View build log
0.1.0-pre3 Available View build log
0.1.0-pre2 Available View build log
0.1.0-pre1 Available View build log
Linux (64-bit)
0.4-RC1 Available View build log
0.3.5 Available View build log
0.3.4.1 Available View build log
0.3.3.2 Available View build log
0.3.2 Available View build log
0.3.1 Available View build log
0.3.0 Available View build log
0.2.8 Available View build log
0.2.7 Available View build log
0.2.6 Available View build log
0.2.5 Available View build log
0.2.4 Available View build log
0.2.3 Available View build log
0.2.2 Available View build log
0.2.1 Available View build log
0.2.0 Available View build log
0.1.0 Available View build log
0.1.0-pre3 Available View build log
0.1.0-pre2 Available View build log
0.1.0-pre1 Available View build log
 
Author
License
Apache
Lastest release
version 0.4-RC1 on Mar 24th, 2013
http://github.com/yelp/mrjob/raw/master/docs/logos/logo_medium.png

mrjob is a Python 2.5+ package that helps you write and run Hadoop Streaming jobs.

v0.3.4.1 documentation

v0.4-dev documentation

mrjob fully supports Amazon's Elastic MapReduce (EMR) service, which allows you to buy time on a Hadoop cluster on an hourly basis. It also works with your own Hadoop cluster.

Some important features:

  • Run jobs on EMR, your own Hadoop cluster, or locally (for testing).

  • Write multi-step jobs (one map-reduce step feeds into the next)

  • Duplicate your production environment inside Hadoop
    • Upload your source tree and put it in your job's $PYTHONPATH
    • Run make and other setup scripts
    • Set environment variables (e.g. $TZ)
    • Easily install python packages from tarballs (EMR only)
    • Setup handled transparently by mrjob.conf config file
  • Automatically interpret error logs from EMR

  • SSH tunnel to hadoop job tracker on EMR

  • Minimal setup
    • To run on EMR, set $AWS_ACCESS_KEY_ID and $AWS_SECRET_ACCESS_KEY
    • To run on your Hadoop cluster, install simplejson and make sure $HADOOP_HOME is set.

Installation

From PyPI:

pip install mrjob

From source:

python setup.py install

A Simple Map Reduce Job

Code for this example and more live in mrjob/examples.

System Message: ERROR/3 (<string>, line 51)

Unknown directive type "code".

.. code:: python

   """The classic MapReduce job: count the frequency of words.
   """
   from mrjob.job import MRJob
   import re

   WORD_RE = re.compile(r"[\w']+")


   class MRWordFreqCount(MRJob):

       def mapper(self, _, line):
           for word in WORD_RE.findall(line):
               yield (word.lower(), 1)

       def combiner(self, word, counts):
           yield (word, sum(counts))

       def reducer(self, word, counts):
           yield (word, sum(counts))


    if __name__ == '__main__':
        MRWordFreqCount.run()

Try It Out!

# locally
python mrjob/examples/mr_word_freq_count.py README.rst > counts
# on EMR
python mrjob/examples/mr_word_freq_count.py README.rst -r emr > counts
# on your Hadoop cluster
python mrjob/examples/mr_word_freq_count.py README.rst -r hadoop > counts

Setting up EMR on Amazon

Advanced Configuration

To run in other AWS regions, upload your source tree, run make, and use other advanced mrjob features, you'll need to set up mrjob.conf. mrjob looks for its conf file in:

  • The contents of $MRJOB_CONF
  • ~/.mrjob.conf
  • /etc/mrjob.conf

See the mrjob.conf documentation for more information.

Reference

More Information

Thanks to Greg Killion (blind-works.net) for the logo.

Subscribe to package updates

Last updated Mar 24th, 2013

Download Stats

Last month:1

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.