Book Image

Practical Data Analysis - Second Edition

By : Hector Cuesta, Dr. Sampath Kumar
Book Image

Practical Data Analysis - Second Edition

By: Hector Cuesta, Dr. Sampath Kumar

Overview of this book

Beyond buzzwords like Big Data or Data Science, there are a great opportunities to innovate in many businesses using data analysis to get data-driven products. Data analysis involves asking many questions about data in order to discover insights and generate value for a product or a service. This book explains the basic data algorithms without the theoretical jargon, and you’ll get hands-on turning data into insights using machine learning techniques. We will perform data-driven innovation processing for several types of data such as text, Images, social network graphs, documents, and time series, showing you how to implement large data processing with MongoDB and Apache Spark.
Table of Contents (21 chapters)
Practical Data Analysis - Second Edition
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface

Aggregation framework


The MongoDB aggregation framework is an easy way to get aggregated values and works fine with sharding without having to use MapReduce (see Chapter 13Working with MapReduce). Aggregation framework is flexible, functional, and simple to implement operation pipelines and computational expressions. Aggregation Framework uses a declarative JSON format implemented in C++ instead of JavaScript, which improves the performance. The aggregate method prototype is shown here:

db.collection.aggregate( [<pipeline>] )

In the following code, we can see a simple counting by grouping the sentiment field with the aggregate method. In this case, the pipeline is only using the $group operator:

from pymongo import MongoClientcon = MongoClient()
db = con.Corpustweets = db.tweets
results = tweets.aggregate([         
         {"$group": {"_id": "$sentiment", "count": {"$sum": 1}}}     ])
for doc in results["result"]:    
    print(doc)

In the next screenshot, we can see the result...