Managing Big Data with Spark - A Comprehensive Beginners’ Course
This is a comprehensive course designed for learners without any prior big data or programming knowledge. The course is designed to take the learner through a journey of understanding and comprehending the prerequisites for Apache Spark before delving into Spark itself.
It begins with the concept of Big Data and then slowly moves on to the fundamentals of programming. The language of choice here is python. Along the way, the learner will also be equipped with enough knowledge to use SQL in a Spark and non-Spark environment.
The core strength of Spark is its ability to perform complex in-memory analytics and stream data sizing up to petabytes, making it more efficient and faster than MapReduce. Spark can pull the data from any data store running on Hadoop and perform complex analytics in-memory and in parallel. This capability reduces Disk I/O and network contention, making it ten times or even a hundred times faster. Also, data analytics frameworks in Spark can be built using Java, Scala, Python, R, or even SQLs.
This course will enable the learner to have skillsets in both SQL and python. Since Spark supports both (and other languages), the learner can choose which methodology best suits him / her. One may also use them both in conjunction, making Spark very easy to use and versatile.
Learning Outcome
After the successful participation of this course, the learner may be expected to have skill sets that include:
- Understanding pf RDBMS
- SQL Syntax
- T-SQL Syntax
- Functions
- Procedures
- Data Cleaning
- Understand the basic syntax structures
- Comprehend real world problems into logical steps
- Formulate Algorithms
- Formulate Pseudo codes
- Code in python
- Develop systems in both functional and OOP
- Basic python for analytics
- Apache Spark Foundation and Spark Architecture
- Data Engineering and Data Processing in Spark
- Data Sources and Sinks
- Data Frames and Spark SQL
- Understand how Hadoop clusters are managed by YARN for Spark
- Consume streaming data using Spark
Prerequisites
- Ability to use a computer
- Ability to use the internet
- Manage files and understand basic file systems in the computer
- Ability to communicate in the English language
- Dual Screen
- High Speed Internet
- Webcam and Microphone
- PowerShell [must be pre-installed]
- Filezilla [must be pre-installed]
- Access to external IP address
Course Outline
The duration of the course is 7 days. Each day will cover 7 hours or training (inclusive of two 15 minute breaks).
- Introduction
- Big Data
- Tools
- Structure
- Pipeline and flow
- Data Source
- Structured Data
- RDBMS
- SQL
- Select
- Where
- Like
- Order
- Insert
- Update
- Delete
- IN Operator
- Between
- Aggregate
- Group
- Alter
- Sub queries
- Stored Procedures
- Functions
- Unstructured and Semi Structured Data
- Datetime
- JSON
- XML
- Python
- Basics
- IDEs
- Environment Variables
- Python Documentation
- Hello world with python
- Modes of Programming
- Variables & Collections
- Numbers
- Python Lists
- Python Tuples
- Python Dictionaries
- Python Sets
- Copying
- Python Strings
- String formatting
- Regular Expressions
- Operators
- Arithmetic Operators
- Comparison (Relational) Operators
- Assignment Operators
- Logical Operators
- Membership Operators
- Operators Precedence
- Decisions and Loops
- Decision Making
- The if Statement
- The if else Statement
- For Loop
- While Loop
- Break And Continue
- Functions and Subroutines
- Defining Your Own Functions
- Parameters
- Function Documentation
- Passing Collections to a Function
- Variable Number of Arguments
- Scope
- Map
- Filter
- Lambda
- Data Handling
- Pandas
- Recursion
- File Access
- Basics
- Spark
- Introduction
- Execution Model
- Dataframes
- Transformation
- Jobs
- Stages
- Structured API
- RDD
- Data Sinks
- Reading
- Writing
- Schema
- SQL in Spark
- Unstructured Data
- Advanced Transformations
- User Defined Functions
- Aggregations
- Grouping
- Joins
- Shuffles
- Optimization
- Clustering
- Machine Learning with Spark
Practical, connected learning
My wider training approach brings hands-on implementation and systems thinking together, connecting technology with real operational needs.