From 30e48368e64b9781e994e7184fadb3162f95eb81 Mon Sep 17 00:00:00 2001 From: Donne Martin Date: Wed, 15 Apr 2015 15:48:33 -0400 Subject: [PATCH] Added mapreduce-python to README. --- README.md | 34 ++++++++++++++++------------------ images/mrjob.png | Bin 0 -> 47402 bytes 2 files changed, 16 insertions(+), 18 deletions(-) create mode 100644 images/mrjob.png diff --git a/README.md b/README.md index aaf7165..892f1f6 100644 --- a/README.md +++ b/README.md @@ -5,22 +5,6 @@ # ipython-data-notebooks Continually updated IPython Data Science Notebooks: Spark, Hadoop MapReduce, HDFS, AWS, Kaggle, scikit-learn, matplotlib, pandas, NumPy, SciPy, Python, and various command lines. -## Index - -* [spark and hdfs](#spark) -* [hadoop mapreduce](#aws) -* [amazon web services](#aws) -* [kaggle](#kaggle) -* [scikit-learn](#scikit-learn) -* [matplotlib](#matplotlib) -* [pandas](#pandas) -* [numpy](#numpy) -* [scipy](#scipy) -* [python](#python-data) -* [command lines](#commands) -* [credits](#credits) -* [license](#license) -

@@ -35,6 +19,19 @@ IPython Notebook(s) demonstrating spark and HDFS functionality. | [spark](http://nbviewer.ipython.org/github/donnemartin/ipython-data-notebooks/blob/master/spark/spark.ipynb) | In-memory cluster computing framework, up to 100 times faster for certain applications and is well suited for machine learning algorithms. | | [hdfs](http://nbviewer.ipython.org/github/donnemartin/ipython-data-notebooks/blob/master/spark/hdfs.ipynb) | Reliably stores very large files across machines in a large cluster. | +
+

+ +

+ +## mapreduce-python + +IPython Notebook(s) demonstrating Hadoop MapReduce functionality. + +| Notebook | Description | +|--------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------| +| [mapreduce-python](http://nbviewer.ipython.org/github/donnemartin/ipython-data-notebooks/blob/master/mapreduce/mapreduce-python.ipynb) | Supports MapReduce jobs in Python, running them locally or on Hadoop clusters. | +

@@ -46,9 +43,8 @@ IPython Notebook(s) demonstrating Amazon Web Services (AWS) and AWS tools functi | Notebook | Description | |------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| [mrjob](http://nbviewer.ipython.org/github/donnemartin/ipython-data-notebooks/blob/master/aws/aws.ipynb#mrjob) | Supports MapReduce jobs in Python 2.5+ and runs them locally or on Hadoop clusters. | -| [s3distcp](http://nbviewer.ipython.org/github/donnemartin/ipython-data-notebooks/blob/master/aws/aws.ipynb#s3distcp) | Combines smaller files and aggregates them together by taking in a pattern and target file. S3DistCp can also be used to transfer large volumes of data from S3 to your Hadoop cluster. | | [s3cmd](http://nbviewer.ipython.org/github/donnemartin/ipython-data-notebooks/blob/master/aws/aws.ipynb#s3cmd) | Interacts with S3 through the command line. | +| [s3distcp](http://nbviewer.ipython.org/github/donnemartin/ipython-data-notebooks/blob/master/aws/aws.ipynb#s3distcp) | Combines smaller files and aggregates them together by taking in a pattern and target file. S3DistCp can also be used to transfer large volumes of data from S3 to your Hadoop cluster. | | [s3-parallel-put](http://nbviewer.ipython.org/github/donnemartin/ipython-data-notebooks/blob/master/aws/aws.ipynb#s3-parallel-put) | Uploads multiple files to S3 in parallel. | | [redshift](http://nbviewer.ipython.org/github/donnemartin/ipython-data-notebooks/blob/master/aws/aws.ipynb#redshift) | Acts as a fast data warehouse built on top of technology from massive parallel processing (MPP). | | [kinesis](http://nbviewer.ipython.org/github/donnemartin/ipython-data-notebooks/blob/master/aws/aws.ipynb#kinesis) | Streams data in real time with the ability to process thousands of data streams per second. | @@ -173,6 +169,8 @@ IPython Notebook(s) demonstrating various command lines for Linux, Git, etc. * [PyCon 2015 Scikit-learn Tutorial](https://github.com/jakevdp/sklearn_pycon2015) by Jake VanderPlas * [Parallel Machine Learning with scikit-learn and IPython](https://github.com/ogrisel/parallel_ml_tutorial) by Olivier Grisel * [Think Stats](http://www.amazon.com/Think-Stats-Allen-B-Downey/dp/1449307116) by Allen Downey +* [Spark Docs](https://spark.apache.org/docs/latest/) +* [AWS Docs](http://aws.amazon.com/documentation/) ## license diff --git a/images/mrjob.png b/images/mrjob.png new file mode 100644 index 0000000000000000000000000000000000000000..e871d31ae404fcb849600f02eb80c5d76eb93d72 GIT binary patch literal 47402 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