Scala: Guide for Data Science Professionals

More Information
  • Transfer and filter tabular data to extract features for machine learning
  • Read, clean, transform, and write data to both SQL and NoSQL databases
  • Create Scala web applications that couple with JavaScript libraries such as D3 to create compelling interactive visualizations
  • Load data from HDFS and HIVE with ease
  • Run streaming and graph analytics in Spark for exploratory analysis
  • Bundle and scale up Spark jobs by deploying them into a variety of cluster managers
  • Build dynamic workflows for scientific computing
  • Leverage open source libraries to extract patterns from time series
  • Master probabilistic models for sequential data

Scala is especially good for analyzing large sets of data as the scale of the task doesn’t have any significant impact on performance. Scala’s powerful functional libraries can interact with databases and build scalable frameworks — resulting in the creation of robust data pipelines.

The first module introduces you to Scala libraries to ingest, store, manipulate, process, and visualize data. Using real world examples, you will learn how to design scalable architecture to process and model data — starting from simple concurrency constructs and progressing to actor systems and Apache Spark. After this, you will also learn how to build interactive visualizations with web frameworks.

Once you have become familiar with all the tasks involved in data science, you will explore data analytics with Scala in the second module. You’ll see how Scala can be used to make sense of data through easy to follow recipes. You will learn about Bokeh bindings for exploratory data analysis and quintessential machine learning with algorithms with Spark ML library. You’ll get a sufficient understanding of Spark streaming, machine learning for streaming data, and Spark graphX.

Armed with a firm understanding of data analysis, you will be ready to explore the most cutting-edge aspect of data science — machine learning. The final module teaches you the A to Z of machine learning with Scala. You’ll explore Scala for dependency injections and implicits, which are used to write machine learning algorithms. You’ll also explore machine learning topics such as clustering, dimentionality reduction, Naïve Bayes, Regression models, SVMs, neural networks, and more.

This learning path combines some of the best that Packt has to offer into one complete, curated package. It includes content from the following Packt products:

  • Scala for Data Science, Pascal Bugnion
  • Scala Data Analysis Cookbook, Arun Manivannan
  • Scala for Machine Learning, Patrick R. Nicolas
  • Build data science and data engineering solutions with ease
  • An in-depth look at each stage of the data analysis process — from reading and collecting data to distributed analytics
  • Explore a broad variety of data processing, machine learning, and genetic algorithms through diagrams, mathematical formulations, and source code
Page Count 1100
Course Length 33 hours 0 minutes
ISBN 9781787281035
Date Of Publication 9 Feb 2017


Pascal Bugnion

Pascal Bugnion is a data engineer at the ASI, a consultancy offering bespoke data science services. Previously, he was the head of data engineering at SCL Elections. He holds a PhD in computational physics from Cambridge University.

Besides Scala, Pascal is a keen Python developer. He has contributed to NumPy, matplotlib and IPython. He also maintains scikit-monaco, an open source library for Monte Carlo integration. He currently lives in London, UK.

Arun Manivannan

Arun Manivannan has been an engineer in various multinational companies, tier-1 financial institutions, and start-ups, primarily focusing on developing distributed applications that manage and mine data. His languages of choice are Scala and Java, but he also meddles around with various others for kicks. He blogs at

Arun holds a master's degree in software engineering from the National University of Singapore.

He also holds degrees in commerce, computer applications, and HR management. His interests and education could probably be a good dataset for clustering.

Patrick R. Nicolas

Patrick R. Nicolas is the director of engineering at Agile SDE, California. He has more than 25 years of experience in software engineering and building applications in C++, Java, and more recently in Scala/Spark, and has held several managerial positions. His interests include real-time analytics, modeling, and the development of nonlinear models.