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

Organizing and storing

Once all of the processing related to data is completed, it is organized and stored in such a way that consumers of data can begin using the data. This act is equivalent to publishing data and making it available for usage.

Data usage generally drives how data is organized and stored. Time series data is generally organized by time dimensions. For example, we could organize data coming from Internet of Things (IoT) devices in the following hierarchy:

  • Year
  • Month
  • Day
  • Hour
  • Minute

In this context, year, month, day, hour, and minute are the functions of the event occurrence time. For example, if the occurrence time is 2018-10-31 15:30:45 UTC, then it will have the following values:

  • Year = 2018
  • Month = 10
  • Day = 31
  • Hour = 15
  • Minute = 30

Another way to organize the data could be by using the device type, or even a mix of both time dimensions and device type...