Book Image

Hands-On Data Analysis with Scala

By : Rajesh Gupta
Book Image

Hands-On Data Analysis with Scala

By: Rajesh Gupta

Overview of this book

Efficient business decisions with an accurate sense of business data helps in delivering better performance across products and services. This book helps you to leverage the popular Scala libraries and tools for performing core data analysis tasks with ease. The book begins with a quick overview of the building blocks of a standard data analysis process. You will learn to perform basic tasks like Extraction, Staging, Validation, Cleaning, and Shaping of datasets. You will later deep dive into the data exploration and visualization areas of the data analysis life cycle. You will make use of popular Scala libraries like Saddle, Breeze, Vegas, and PredictionIO for processing your datasets. You will learn statistical methods for deriving meaningful insights from data. You will also learn to create applications for Apache Spark 2.x on complex data analysis, in real-time. You will discover traditional machine learning techniques for doing data analysis. Furthermore, you will also be introduced to neural networks and deep learning from a data analysis standpoint. By the end of this book, you will be capable of handling large sets of structured and unstructured data, perform exploratory analysis, and building efficient Scala applications for discovering and delivering insights
Table of Contents (14 chapters)
Free Chapter
Section 1: Scala and Data Analysis Life Cycle
Section 2: Advanced Data Analysis and Machine Learning
Section 3: Real-Time Data Analysis and Scalability

What this book covers

Chapter 1, Scala Overview, gives you a quick run through Scala and its features. It will prepare you for upcoming chapters.

Chapter 2, Data Analysis Life Cycle, turns the focus exclusively to data analysis and its typical life cycle. It provides an overview of the steps involved in the data analysis life cycle.

Chapter 3, Data Ingestion, deep-dives into the data ingestion aspects of the data life cycle. It covers extraction, staging, validation, cleaning, and shaping data tasks. It highlights how to deal with the variety aspect of data, that is, how to handle data from different sources in different formats.

Chapter 4, Data Exploration and Visualization, deep-dives into the data exploration and visualization parts of the life cycle. It familiarizes the reader with techniques for discovering inherent properties associated with data using statistical as well as visual methods.

Chapter 5, Applying Statistics and Hypothesis Testing, provides an overview of the statistical methods used in data analysis and covers techniques for deriving meaningful insights from data.

Chapter 6, Intro to Spark for Distributed Data Analysis, covers the transition to doing data analysis on distributed systems and doing it at scale. It provides a good introduction to Spark, a Scala-based distributed framework for data processing. It will guide you through Spark setup on your computer and introduce key features using practical examples.

Chapter 7, Traditional Machine Learning for Data Analysis, covers topics such as decision trees, random forests, lasso regression, and k-means cluster analysis. It also covers the role of NLP in effectively analyzing certain types of data.

Chapter 8, Near Real-Time Data Analysis Using Streaming, introduces the concept of stream-oriented processing and compares it to traditional batch-oriented processing. It also illustrates how streaming can be used to perform near real-time data analysis. This chapter deep-dives into Spark Streaming and will guide you on implementing clustering and a classifier leveraging Spark Streaming APIs.

Chapter 9, Working with Data at Scale, is dedicated to processing data at scale. It looks at data analysis from multiple dimensions, such as cost, reliability, and performance. It provides guidance on some of the best reliability and performance practices. It provides a complete picture of how a practical real-world data analysis life cycle works and will help you to put this into practice in a production environment.