
Identify the prerequisites and versions for setting up pyspark, including java 8+ and python 2.7+ (prefer 2.8+), and py4j 0.10.9+, then install java, python, spark, and configure environment variables.
Install Java by downloading the JDK to set up the Java development and runtime environment, understand the JVM, compile and run Java programs, and configure PATH and JAVA_HOME on Windows.
Install and configure winutils for PySpark on Windows, set Hadoop home and environment variables, and use the text file api to load a local file into a data frame.
Explore PyCharm basics, from configuring a Python interpreter and runtime arguments to using autofill, refactor, and code navigation features that speed up editing and debugging Python scripts.
Set the python interpreter and project structure in PyCharm to connect Python and Spark. Create the spark context via spark session, then test with parallelize to verify integration.
Learn to debug Python applications in PyCharm using breakpoints, the debugger, and the console, and navigate frames, variables, and watches to pinpoint issues.
Learn Hadoop fs directory management with mkdir and rmdir, including -p for existing paths, -R for recursive deletes, and -f and skip trash for resilient removal and cleanup.
Copy data from local to hdfs using the put command or copy from local, copying contents with data files/* and using -f to overwrite and -p to preserve timestamp.
Preview files in HDFS using head, tail, and cat commands, learn to print the first and last ten records, and combine HDFS with Unix pipes for streaming data.
Explore the hdfs stat command to print file or directory statistics, including modification time, size in bytes, type, 128 MB block size, replication, user, and permissions, with format options.
Explore how to retrieve HDFS metadata with Hadoop commands, including block size, replication, and rack locations, and learn to generate file- and block-level reports in a single-node PySpark environment.
Learn HDFS file permissions mirroring Linux, with owner, group, and others, including read and write rights for files, and directory permissions plus octal and symbolic mode examples.
Override hdfs properties by editing hdfs-site.xml to set replication and block size. Use -D or conf options during copy or setrep to change replication on existing files.
Explore Python operators and how arithmetic, assignment, comparison, logical, identity, and membership operators work on variables. Learn how memory addresses and the copy method affect variable references and list copies.
Explore Python list methods, including length, max, and mean, and operations like append, clear, copy, count, insert, pop, remove, reverse, sort, and sorted with a key.
Explore Python tuples, including empty and non-empty forms and their immutability. Learn tuple operations like concatenation, indexing, and the count and index methods, and forming one-element tuples with a comma.
Master python dictionaries by using key-value pairs to store data, access and update entries, enforce unique keys, and leverage common methods like get, keys, values, and items.
Explore map, reduce, and filter as core Python and Spark tools. Learn how map applies a function to iterables, with Python 2 vs 3 differences and uppercasing examples.
Learn the Python filter function, which applies a single-argument function to one iterable to filter items, returning those greater than 60, as shown on a marks list (70, 65, 99).
Master Python file handling with the open method, read/write/append modes, line-by-line reads, tell and seek, and operations like rename, remove, and existence checks using the os module.
Explore Python object oriented programming basics by building classes, creating objects, and using self, methods, and attributes. Learn camel case naming, instantiation, dot notation, and returning values.
Explore how Python initializes objects via the __init__ method, assign and access attributes with self, and implement get and set methods to manage object state.
Master python exception handling with try/except, else, finally, and named and user defined errors; implement logging, reraise, and correct exit codes for robust production scripts.
Discover the resilient distributed datasets (RDD) core in Spark, covering immutability, lineage, partitions, DAGs, and lazy evaluation, with transformations and actions enabling in-memory fault-tolerant processing of structured and semi-structured data.
Explore the problems of adt in spark, including opaque compute functions and data that hinder optimization. Learn the adt properties and why datasets and dataframes enable pruning and better performance.
Explore five methods to create rdds—from external data and hdfs, to local files, python lists, and existing dataframes—using spark context or spark session.
Explore low-level PySpark transformations such as map, flatMap, and filter alongside lazy evaluation and actions. See how an ADT and a linear record track transformations for efficient data processing.
Explore map values, a row-level transformation that applies a function to all values for each key without changing the keys, unlike map which operates on entire records.
Explore PySpark join transformations, including inner, left outer, right outer, and full outer joins, plus cogroup and Cartesian joins on k-v pairs, with practical examples.
Explore soft link and combiner to optimize shuffle in Spark, and learn how shuffle operations impact partitions and key aggregation APIs like reduce by key and aggregate by key.
Sort data in spark using sort by key on ADT, with ascending order and optional partitions, including single and multi-key sorting by customer id and status.
Repartition and sort within partitions by converting data to key-value pairs, applying a partition function, and sorting keys in ascending or descending order.
Understand repartition vs coalesce in Spark: repartition performs a full shuffle to create new partitions, while coalesce reduces partitions with minimal shuffling, useful after extraction, joins, or filtering.
Introduction to Spark.
HDFS Commands
Python Course.
Why Spark was developed.
What is Spark and its features.
Spark Main Components.
Introduction to Spark.
HDFS Commands
Introduction to SparkSession
RDD Fundamentals
What is RDD
RDD Properties
When to use RDD
RDD Problems
Create RDD
Different Ways to Create RDDs
RDD Operations
Transformations - Low Level
Transformations - Join Types
Actions - Total Aggregations
Shuffle and Combiner
Transformations - Key Aggregations
Transformations - Sorting
Transformations - Ranking
Transformations - Set
Transformations - Sampling
Transformations - Partition
Transformations - Repartition
Transformations - Repartition and Sort
Transformations - Coalesce
Transformations - Repartition Vs Coalesce
Extraction
Spark Cluster Execution Architecture_Full Architecture
Spark Cluster Execution Architecture_YARN As Spark Cluster Manager
Spark Cluster Execution Architecture_JVMs across Clusters
Spark Cluster Execution Architecture- Commonly Used Terms in Execution Framework
Spark Cluster Execution Architecture - Narrow and Wide Transformations
Spark Cluster Execution Architecture - DAG Scheduler
Spark Cluster Execution Architecture - Task Scheduler
RDD Persistence
Spark Shared Variables
SparkSQL Architecture
Detailed SparkSession Features
DataFrame Fundamentals
Datatypes
DataFrame Rows
DataFrame Columns
DataFrame ETL
DataFrame ETL_Introduction to Transformations and Extraction
DataFrame ETL_DataFrame APIs Introduction Extraction
DataFrame ETL_DataFrame APIs Selection
DataFrame ETL_DataFrame APIs Filter or Where
DataFrame ETL_DataFrame APIs Sorting
DataFrame ETL_DataFrame APIs Set
DataFrame ETL_DataFrame APIs Join
DataFrame ETL_DataFrame APIs Aggregations
DataFrame ETL_DataFrame APIs GroupBy
DataFrame ETL_DataFrame APIs Windows
DataFrame ETL_DataFrame Built-in Functions Introduction
Performance and Optimization