Book Image

Big Data Analysis with Python

By : Ivan Marin, Ankit Shukla, Sarang VK
Book Image

Big Data Analysis with Python

By: Ivan Marin, Ankit Shukla, Sarang VK

Overview of this book

Processing big data in real time is challenging due to scalability, information inconsistency, and fault tolerance. Big Data Analysis with Python teaches you how to use tools that can control this data avalanche for you. With this book, you'll learn practical techniques to aggregate data into useful dimensions for posterior analysis, extract statistical measurements, and transform datasets into features for other systems. The book begins with an introduction to data manipulation in Python using pandas. You'll then get familiar with statistical analysis and plotting techniques. With multiple hands-on activities in store, you'll be able to analyze data that is distributed on several computers by using Dask. As you progress, you'll study how to aggregate data for plots when the entire data cannot be accommodated in memory. You'll also explore Hadoop (HDFS and YARN), which will help you tackle larger datasets. The book also covers Spark and explains how it interacts with other tools. By the end of this book, you'll be able to bootstrap your own Python environment, process large files, and manipulate data to generate statistics, metrics, and graphs.
Table of Contents (11 chapters)
Big Data Analysis with Python
Preface

Reproducibility with Jupyter Notebooks


Let's start by learning what it is meant by computational reproducibility. Research, solutions, prototypes, and even a simple algorithm that is developed is said to be reproducible if access is provided to the original source code that was used to develop the solution, and the data that was used to build any related software should be able to produce the same results. However, today, the scientific community is experiencing some challenges in reproducing work developed previously by peers. This is mainly due to the lack of documentation and difficulty in understanding process workflows.

The impact of a lack of documentation can be seen at every level, right from understanding the approach to the code level. Jupyter is one of the best tools for improvising this process, for better reproducibility, and for the reuse of developed code. This includes not just understanding what each line or snippet of code does, but also understanding and visualizing data...