
Develop an end-to-end real-time PySpark project, building a complete data pipeline from ingestion to transfer, using Spark, HDFS, Hive, PostgreSQL, and cloud services.
Learn to build an end-to-end etl pipeline with PySpark, from data ingestion and pre-processing to transformation and storage across hdfs, hive, and cloud targets such as s3 and azure blob.
Develop a high level functional specification for two PySpark reports: a US city report with distinct prescribers, transactions, zips; and a US prescriber report with top prescribers by state.
Orchestrate the code level project with presc_run_pipeline.py, coordinating setup, object creation, logging, and validation; ingest, preprocess, transform data in spark; extract to hdfs, and persist to hive and postgresql.
Divide the end-to-end real-time PySpark project into three parts to cover the specified functionalities and the code-specific project flow.
Explore the approach to an end-to-end real-time PySpark project by testing in Windows with PyCharm and deploying on a single node cluster with Unix scripts for HDFS transfer.
Download the vendor input files for this project, including the dimension and prescriber files, by using the provided links and saving the large 3 gigabyte file to a local folder.
Learn end-to-end installation and single-cluster setup for Spock and Spark in real-time PySpark projects, including Google Cloud deployment and embedded, local metastable, and remote desktop modes with Spark Keeper Index.
Learn to launch an Ubuntu-based virtual machine on Google Cloud Compute Engine during the free trial, configure a static (elastic) IP, and connect for real-time development.
Learn to set up Python and Java by installing Python 3, pip, and venv, then install and verify OpenJDK and the Java compiler, preparing for future secure shell steps.
Learn to set up passwordless SSH access to localhost by generating private and public keys, configuring authorized_keys, and validating a secure, password-free connection for local cluster use.
Set up Hadoop by downloading and extracting the files, configure HDFS and YARN, and start name node, data node, resource manager, and node managers to manage cluster services.
Set up hive with dockerized postgres in a local metastore configuration and explore remote megastore access; install docker, run postgres container, create megastore database, and connect hive from localhost.
Set up docker, postgres driver, and hive metastore, configure hive properties, initialize the metastore, and verify by creating a table via the hive client.
Set up spark 2.x and spark 3.x, download spark 2.4.8 and 3.x, configure environment variables and profiles, and verify installations by running spark-shell and spark-sql with Hive.
Set up Spark 2.x and Spark 3.x across a real-time end-to-end workflow, launch Spark jobs on a cluster, manage Spark context, and tune logs for production deployments.
Set up the web user interface and open ports to access the cluster, submitted applications, and application history, configure firewall rules, and verify history accessibility via the public ip.
Master the end-to-end management of a real-time PySpark cluster by stopping all services, checking status, and starting them again with Docker containers, ensuring a clean shutdown for production clusters.
Set up PySpark with Java 8+ and Python 2.7+ (prefer 2.8+), Py4J 0.10.29+, on a 64-bit Windows or Unix with 4 GB RAM; install Java, Python, Spark, winutils, PyCharm.
Learn to install Java on Windows: download the JDK, configure JAVA_HOME and PATH, and verify Java and javac usage to enable running and compiling Java programs.
Install Python on Windows by downloading the installer, running as administrator, and adding Python to the environment path; verify with a new command prompt and version 3.9.7.
Learn how to install Apache Spark on Windows, from download to a working setup, including extracting with WinRAR or 7-zip, setting environment variables, and validating with the command prompt.
Install winutils on windows, create a bin folder, and set environment variables and PATH; verify by loading a sample file into spark to test the setup.
Install and configure PyCharm to develop Python and Spark applications, set up the Python interpreter and virtual environment, create a demo project, and run a simple test script.
Explore PyCharm basics and essential Python features, from opening projects and selecting a Python interpreter to refactoring, renaming variables, and using find, replace, and navigation shortcuts.
Learn to pass runtime arguments in PyCharm by managing argument lists, indexing inputs, and printing the file image and parameters.
Learn to integrate Python and Spark in PyCharm by configuring the Python interpreter and project structure, then create and test a Spark context.
Learn to debug Python applications with PyCharm by using breakpoints, the debugger, and the console to inspect variables, frames, and expressions.
Discover how HDFS, the heart of a distributed filesystem, enables massive data storage and processing with Hadoop, MapReduce, and Spark on commodity hardware.
Learn hdfs architecture with an active name node holding metadata, file permissions, and block locations, and use a secondary name node with hourly checkpoints for fault tolerance on commodity hardware.
Learn how hdfs data blocks split large files into blocks with configurable block size, and how replication creates multiple copies across nodes to ensure availability and fault tolerance.
Rack awareness guides placing block replicas across different racks to ensure availability during failures and to reduce recovery time.
Open the file via the distributed file system, perform a remote procedure call to the name node for metadata and authorization, obtain block locations, read blocks, and close the connection.
Learn how to use the HDFS CLI to list files, access command documentation, and view help options, enabling efficient interaction with the file system in a real-time PySpark project.
Clone data files from a GitHub account to the local system. Unzip them and copy the data into HDFS, then list the files to verify the folders and contents.
Explore listing and sorting in HDFS using the list command, learn help usage for documentation, apply pattern filters, enable recursive views, and tailor output to show only directories or files.
Learn to create and remove directories in HDFS, handle empty vs non-empty cases, use -ignore-fail-on-non-empty and -rm -r, create with -mkdir -p, then verify with exit status.
Learn to copy data from hdfs to local using dfs copy commands, select files or folders, handle existing files with -f, and preserve times and ownership with -p.
Copy data from local to hdfs using the put command, copying all contents or just the folder contents with patterns. Overwrite with -f and preserve timestamps with -b.
Preview file contents in Unix by using head and tail, compare with cat, and pipe commands to display the first or last lines, including the -F flag for streaming data.
Learn to use the start command to print statistics in HDFS, including modification time, file size, object type, block size, blocks, and user, with various flag options.
Learn how to inspect storage in the HDFS file system using two commands to show total capacity and per-folder sizes, with options for human readable output and aggregation.
Learn to inspect HDFS metadata with command options to generate high level, file, and block reports, using -files, -blocks, and -locations to map blocks to data nodes.
Explore hdfs file permissions mirroring linux-like ownership: owner, group, and others, and apply octal and symbolic chmod to grant read and write access.
Learn to update hdfs properties by overriding cluster defaults for a project, using -D or --conf during copy and -f to override existing files, including block size and replication adjustments.
Install Python with a free Anaconda distribution, set up Jupyter Notebook, and practice basic Python in Windows or Unix to prepare for end-to-end PySpark projects.
Explore Python's main features, including its interpreter and bytecode execution via the Python Virtual Machine, its dynamic typing, object-oriented design, interactive use, and cross-platform portability.
Learn Python basics, including identifiers, indentation, multiline statements, quotes, and comments, plus user input and script versus interactive modes with command line arguments.
Explore python variable assignments, including passing multiple values to multiple variables, and master global and local scope with functions, using the global keyword.
Learn how to use the print command with variables and string formatting. Discover how dir lists an object's properties and methods, and how help reveals full documentation and built-in functions.
Explore python operators, including arithmetic, assignment, comparison, logical, identity, and membership operators, and learn how they manipulate variables and evaluate memory references.
Explore Python modules: create simple modules with functions and variables, import and access them via names or aliases, and use built-in modules such as time and its functions like sleep.
Explore Python’s dynamic typing and numeric types, including int, float, and complex, then cast between types and format numbers, and use math and random functions for common calculations.
Learn Python string basics and operations—indexing, slicing, concatenation, and formatting—along with methods like lower, upper, find, join, split, and replace for real-time text manipulation.
Explore Python lists as mutable, ordered sequences that support indexing, slicing, and duplicates. Create, modify, and delete items; use list comprehension and operations like concatenation, repetition, and membership.
Examine essential Python list methods in PySpark projects, including append, clear, copy, max, min, index, insert, pop, remove, reverse, and sort with key and reverse; note copy behavior.
Introduce tuples as the next sequence type, showing empty and value-filled creations with direct indexing, while highlighting immutability, and demonstrating concatenation along with count and index to locate values.
Explore Python sets: build and manipulate unordered collections of unique elements, add or remove items, test membership, and perform union, intersection, difference, and symmetric difference, plus subset and disjoint checks.
Explore Python dictionaries that store data as unique key-value pairs, support insertion and updates, with order from Python 3.7. Access via keys, get, values, items; modify with pop and setdefault.
Explore Python date and time handling using the datetime and time modules, create date objects with year, month, and day, and format outputs with format codes and sleep for delays.
Explore Python conditional statements, including if, elif, else, indentation rules, one-line shorthand if, and the pass statement, with practical examples on controlling code flow.
Learn how to use the Python for loop with break and continue to control iteration, exemplified by printing weekdays while stopping at weekends.
Learn how to use a Python while loop to execute statements while a condition holds, increment variables, and apply break, continue, and else to control loop flow in PySpark projects.
Define and call Python functions using def, distinguish parameters from arguments, and use positional, keyword, default values, and arbitrary *args and **kwargs with print or return outputs.
Learn how to write lambda functions in Python to create anonymous functions with a single expression and unrestricted parameters. Use them by assigning outputs to variables in Spark.
Explore the map, filter, and reduce functions in Python, their built-in status, and the Python 2 versus Python 3 differences, with practical examples using map objects and lambdas.
Explore the filter function, applying a predicate to a list to return only items that meet criteria, such as marks above 60 in a PySpark project.
Learn the Python reduce function, imported from a tools module, which applies a two-argument function across an iterable starting with an initial element, demonstrated by summing numbers to 64.
Master Python file handling with open, read, read line, cursor control via seek and tell, and basic write operations, plus renaming and deleting files and folders with os.
Explore Python object-oriented programming by defining classes and creating objects, using self, and applying naming conventions; build a person class with a sleep method and instantiate objects.
Explore how the constructor runs on every object instantiation, initializes attributes with self, and exposes getter and setter methods to access and modify those values.
Create and interact with multiple classes, including a teacher class and a colors class, to manage teacher objects and compute the average salary in a class.
Explain class attributes shared by all instances, how to access them via class name or objects, and how __init__ increments the counter of created objects.
Learn the Python special variable __name__, how it differs when running a file or importing a module, and how to use if __name__ == '__main__' as the program’s starting point.
Explore how to use the Environ mapping in the OIS module to access Python environment variables, retrieving, setting, and handling missing keys.
Explores exception handling in Python with try blocks, catching name errors, and using finally and else blocks; demonstrates raising custom exceptions and logging errors for graceful production execution.
Learn to trace exceptions in Python with the traceback module, using print_exception and extract_tb to pinpoint where an error occurred and inspect exception details.
Explore how to use Python's logging module to configure levels, direct output to console or files, and customize formats using basicConfig, level, and format.
Integrate Python logging with exception stack traces by using the exception info parameter to capture errors and log them to a file.
Create a module-specific custom logger in Python by instantiating a logger, adding a file handler with a formatter and level, and configuring per-module output via a configuration file in production.
Learn to create a config folder and Python logging configuration file to define loggers, handlers, and formatters. Load this config with logging.config.fileConfig and route logs to a file or console.
Set up a PyCharm project for a PySpark end-to-end workflow by creating folders src, main, python, bin, logs, staging, configs, sql, and lib, and add a run_pipeline script.
Connect Python with PySpark by configuring content roots and Py4J, then validate integration by creating and printing a Spark session object.
Create two sub-folders under staging path: Dimension City and fact. Move the input city file to Dimension City and the input prescriber file to the fact folder.
Create a PyCharm starter template for part one of the PySpark project, defining a main script that initializes the spark session, sets up logging and error handling, and orchestrates data ingestion, preprocessing, transformation, and extraction. Ingest city and fact vendor files, validate the resulting dataframes at each step, and outline prerequisite PySpark and Python knowledge for a smooth, paced walkthrough.
Create a get_all_variables script to manage environment variables with python's os and pprint, set and print values, handle paths, and prepare staging folders.
End to End PySpark Real Time Project Implementation.
Projects uses all the latest technologies - Spark, Python, PyCharm, HDFS, YARN, Google Cloud, AWS, Azure, Hive, PostgreSQL.
Learn a pyspark coding framework, how to structure the code following industry standard best practices.
Install a single Node Cluster at Google Cloud and integrate the cluster with Spark.
install Spark as a Standalone in Windows.
Integrate Spark with a Pycharm IDE.
Includes a Detailed HDFS Course.
Includes a Python Crash Course.
Understand the business Model and project flow of a USA Healthcare project.
Create a data pipeline starting with data ingestion, data preprocessing, data transform, data storage ,data persist and finally data transfer.
Learn how to add a Robust Logging configuration in PySpark Project.
Learn how to add an error handling mechanism in PySpark Project.
Learn how to transfer files to AWS S3.
Learn how to transfer files to Azure Blobs.
This project is developed in such a way that it can be run automated.
Learn how to add an error handling mechanism in PySpark Project.
Learn how to persist data in Apache Hive for future use and audit.
Learn how to persist data in PostgreSQL for future use and audit.
Full Integration Test.
Unit Test.