Apache Spark - from Beginner to Advanced
Apache Spark är ett kraftfullt ramverk för distribuerad databehandling inom Big Data och avancerad analys. Den här kursen ger en djupgående förståelse för Spark-ekosystemet och dess komponenter som Spark Core, Spark SQL och Spark MLlib, samt varför Spark kan vara en föredragen lösning framför mer traditionella teknologier tack vare dess snabbhet och flexibilitet.
Kursen hålls på begäran
Kontakta oss för mer information.
Telefon: 08-562 557 50
E-post: kursbokning@cornerstone.se
Du lär dig att använda Spark, hantera RDDs och optimera databehandling. Fokus ligger även på maskininlärning, strukturerad strömning och DataFrame API, vilket ger verktyg för datavisualisering, modellering och analys.
Målgrupp och förkunskaper
Den här kursen är lämplig för dataingenjörer, dataanalytiker, systemutvecklare och IT-specialister som arbetar med områden som Big Data, databehandling och maskininlärning.
Du behöver vara bekant med utveckling med Python eller Java. För att alltid hålla en hög kvalitet på våra teknikkurser använder vi både engelsk- och svensktalande experter som kursledare.
Detaljerad information
Kursmaterialet är på engelska, med detta innehåll:
Spark Ecosystem
- Limitations of Hadoop
- What is Apache Spark
- Who Uses Spark
- Persistence Layers
Spark Components
- Spark Core
- Spark SQL
- Spark Streaming
- Spark MLlib
- Spark GraphX
Spark Data Flow
- What is HDFS
- The way Interacts with HDFS
Where does Apache Spark stand in the Big data / Analytics ecosystem?
The Resilient Data Set from the interactive shell
- install Hadoop, Install Spark, start the interactive shell
- SparkContext, SparkConf, SparkSession
- Using RDDs for loading data from Hadoop (or any other file system), transforming data, storing data into Hadoop or any other file system
- About RDDs
- Transformations & Actions on simple RDD
- Persistence
- Transformations & Actions on Key Value Pairs RDD
Data Partitioning and reducing data shuffling
- Map reduce in Spark in depth
- Using Spark’s data partitioners HashPartitioner
- Avoiding unnecessary shuffling
- Shuffling with an external service
- Parameters that affect shuffling
- Repartitioning RDDS
- Mapping data in partitions
- Joining Sorting and grouping data detailed
Running Applications
- Running Spark Applications
- Cluster Execution – Cluster Manager YARN
- Job Scheduling
- Spark Properties
- Interactive Shell
- Submitting spark Applications
Create a Spark project with Eclipse
- Environment Setup with Java, Scala, Maven, Eclipse
- Create and application that
- Loads data
- Aggregates data
- Filters data
- Broadcast Variables
- Running the application from Eclipse
- Submitting the application with spark-submit
Spark and Data
- Pre-processing, preparing the data
- Visualizing the Data
- Pre-processing / Transforming the data
- Feature extraction
- Building a recommendation engine with spark
- Training the model
- Using the model
- Model Evaluation
Building a clustering model
- DataFrames
- SQL Context
- Importing and Saving Data
- Creating a DataFrame from RDDs
- Creating a DataFrame from an RDD of Tuples
- Converting RDDs to DataFrames use case classes
- Converting RDDs to DataFrames with a schema
- DataFrame API Selecting Data
- Missing values
- Converting DataFrames to RDDs
- Grouping and Joining data detailed
- Performing Joins
DataSets and using a Hive Store
- Register tables temporarily
- Register tables Permanently
- The Spark table Catalog
- Configuring a remote Hive Store
- Executing SQL queries
Saving and loading DataFrame data
- Available data sources
- Saving data: Writer, SaveAsTable, JDBC
- Loading data: JDBC, DataSources & SQL,
Spark Streaming
- the StreamingContext
- Creating and using Discretized Streams (DStreams)
- Saving Data
- Starting and Stopping the stream computation
- Saving the computation state
- Combining Two Streams
- Using Window operations
Machine Learning
- Pre-processing the data
- Visualising the data
- Feature extrection