Scala实战经验班

Course Objective

  • Become a competent user of Scala
  • Learn functional programming style in Scala
  • Hands On experience in using Scala tools
  • Become confident to start using Scala in production environments
  • Data processing project
  • Ready as data engineer by using Scala for Spark development

Scala Introduction

  • Introduction to Scala
  • Creating a Scala Doc
  • Creating a Scala Project
  • The Scala REPL
  • Scala Documentation

Scala Programming

  • Strings
  • Numbers
  • Control Structure

Development IDE

  • Setup development IDE
  • Debug

Classes, Objects, Package

  • Companion Objects
  • Case Classes and Case Objects
  • Apply and Unapply
  • Synthetic Methods
  • Immutability and Thread Safety

Functional Programming

Data Structure

  • Collections overview
  • Sequences and Sets
  • Options
  • Tuples and Maps
  • Higher Order Functions

File Operations

  • Flat file
  • JSON
  • XML
  • Web service

Database Operations

  • SQL Database operations
  • Non-SQL database operations

Scala programing best practice

  • For expressions
  • Pattern Matching
  • Handling Options
  • Handling Failures
  • Handling Futures

Data Visualization

  • Scatter plots
  • Time series diagram

Data processing project

  • SQL – MySql
  • NON-SQL – MondoDB

Scala deployment build process

  • SBT
  • Maven
  • Build and deploy data processing project