
Set up a cloud nine environment via the cloud nine console, selecting ubuntu server 18.4, a t3.medium instance, and postgres with jupyter to practice data engineering.
Learn how to open ports on a Cloud9 instance to expose a web app, using DNS alias, IP, port 80, security group inbound rules, and elastic IP.
Learn to allocate and associate an elastic IP address with a Cloud9 instance to provide a stable DNS alias, handle changing IP addresses, and maintain access after reboots.
Increase Cloud9 storage from 10 gb to 32 gb by modifying the EBS volume in the EC2 console, reboot the instance, and verify with df -h.
Sign up for Google Cloud Platform to access a $300 credit for one year, set up a free trial, and provision virtual machines for hands-on learning.
Set up passwordless login on a single-node Hadoop cluster by generating SSH keys, copying the public key to authorized_keys, and validating passwordless access to start Hadoop components.
Start and validate HDFS on a single-node cluster by configuring the path and passwordless login, launching all DFS components, and validating with DFS commands and file operations.
Set up a single-node Hadoop cluster, start DFS and YARN, and validate the services. Clone the retail_db repo from GitHub, copy the data to HDFS, and verify readiness.
Download and install Spark 2.4.7 on a single-node Hadoop 2.7 cluster, extract the tarball, create a spark2 soft link, and run Spark via Python or Scala SQL for learning.
Learn to integrate Spark 2 with Jupyter Lab by creating a new kernel embedded with SPARC, configuring Yarn, and validating Spark and Hive databases on a single-node cluster.
Download Spark 3.1.1 for a single-node Hadoop and Spark cluster, unzip, move the folder, and create a symlink. Validate the installation by configuring and running basic scripts.
Validate spark 3 using clis by launching a single-node cluster, running Scala, Python, and SQL interfaces, and verifying access to retail_db.orders via Hive metastore and Spark queries.
Master Scala functions in Spark contexts by defining with def, using return types, and creating higher-order and anonymous functions to sum ranges, squares, cubes, and multiples.
Discover case classes, a boilerplate-reducing, immutable default construct that auto generates toString, equals, hashCode, copy, and product related utilities via a companion object.
Explore Scala collections: sequence, set, and map, with hands-on focus on list, set, and map APIs, iteration via foreach, and common traits like Traversable and Iterable for Spark integration.
Learn basic MapReduce in Spark with Scala, using map, filter, and reduce to sum squares of even numbers, and compare filter-first versus square-first strategies.
Set up datasets for basic I/O by cloning or downloading from GitHub, locate the data in the lab or local PC, then read files and perform MapReduce operations.
Read data from files using a source API, convert to in-memory collections, and apply map, filter, and reduce to compute order subtotals and total revenue.
Install sbt on Windows, download the appropriate version for Scala and Spark projects, and finish setup via command prompt. Launch sbt to verify first-time downloads complete.
Learn to list HDFS files with the dfs -ls command and options like -h for human-readable sizes, -R for recursive listing, and sort by name, time, or size.
Learn to create hdfs directories, set user space under /user, assign ownership to the login user, and adjust group ownership with dfs mkdir, -chown, and -chgrp, including recursive options.
Copy files from local to hdfs using copy from local (put); learn to create folders, preserve metadata, handle existing files with -f, and understand name node and block distribution.
Explore how to obtain file metadata in the Hadoop distributed file system using DFS commands, revealing files, blocks, and locations and explaining replication factor, block IDs, and data node mappings.
Learn how to read and override HDFS properties at runtime by inspecting core-site.xml and hdfs-site.xml. Use -D or --conf to set replication factor and block size for copied files.
Spark read APIs explain reading data into dataframes using csv, json, and text formats, with format, load, options, and schema to control headers, delimiters, and inferred schema.
Preview schema and data in Spark dataframes using print schema, show, and describe, with practical hands-on labs on Spark SQL and Spark 3 using Scala.
Discover Spark data frame APIs to read data into dataframes, apply standard and low-level transformations, filter, aggregate by group, sort, and project fields with select, drop, and withColumn.
Explore how to write Spark dataframes to multiple formats such as csv, json, and parquet using write APIs, options, compression, mode, and validation on a multi-node cluster.
Launch a Spark session in a notebook, create a Spark object with the Spark session builder, import implicits for shorthand column references to build dummy frame and explore SQL functions.
Master date and time arithmetic in spark using date_add, date_sub, add_months, and months_between. Learn to use current_date and current_timestamp with dataframe examples and understand end-of-month behavior.
Explore how to use Spark date_trunc and trunc to generate week-to-date, month-to-date, and year-to-date reports, and derive beginnings of date or time from timestamps with practical examples.
Explore basic transformations, including filtering, aggregation, and sorting, using data frame APIs on airlines data to compute daily totals of departure and arrival delays for one month.
Launch a Spark context by configuring a Spark session or Spark shell with local or yarn master settings, then explore filtering, aggregations, and sorting.
Explore filtering with spark data frame APIs on the airlines data, using sql style and dataframe style conditions with operators such as in, between, and like.
Filter Spark data frames to count flights with departure delay over 60 minutes, using sql-style and api-style methods, and preview results in the airlines dataframe (count = 40,104).
Count flights departing late on Sundays from the 2008 January data using Spark data frames in scala. Use date_format and to_date to extract day of week and filter late departures.
As part of this course, you will learn all the key skills to build Data Engineering Pipelines using Spark SQL and Spark Data Frame APIs using Scala as a Programming language. This course used to be a CCA 175 Spark and Hadoop Developer course for the preparation of the Certification Exam. As of 10/31/2021, the exam is sunset and we have renamed it to Spark SQL and Spark 3 using Scala as it covers industry-relevant topics beyond the scope of certification.
About Data Engineering
Data Engineering is nothing but processing the data depending on our downstream needs. We need to build different pipelines such as Batch Pipelines, Streaming Pipelines, etc as part of Data Engineering. All roles related to Data Processing are consolidated under Data Engineering. Conventionally, they are known as ETL Development, Data Warehouse Development, etc. Apache Spark is evolved as a leading technology to take care of Data Engineering at scale.
I have prepared this course for anyone who would like to transition into a Data Engineer role using Spark (Scala). I myself am a proven Data Engineering Solution Architect with proven experience in designing solutions using Apache Spark.
Let us go through the details about what you will be learning in this course. Keep in mind that the course is created with a lot of hands-on tasks which will give you enough practice using the right tools. Also, there are tons of tasks and exercises to evaluate yourself.
Setup of Single Node Big Data Cluster
Many of you would like to transition to Big Data from Conventional Technologies such as Mainframes, Oracle PL/SQL, etc and you might not have access to Big Data Clusters. It is very important for you set up the environment in the right manner. Don't worry if you do not have the cluster handy, we will guide you through support via Udemy Q&A.
Setup Ubuntu-based AWS Cloud9 Instance with the right configuration
Ensure Docker is setup
Setup Jupyter Lab and other key components
Setup and Validate Hadoop, Hive, YARN, and Spark
Are you feeling a bit overwhelmed about setting up the environment? Don't worry!!! We will provide complementary lab access for up to 2 months. Here are the details.
Training using an interactive environment. You will get 2 weeks of lab access, to begin with. If you like the environment, and acknowledge it by providing a 5* rating and feedback, the lab access will be extended to additional 6 weeks (2 months). Feel free to send an email to support@itversity.com to get complementary lab access. Also, if your employer provides a multi-node environment, we will help you set up the material for the practice as part of the live session. On top of Q&A Support, we also provide required support via live sessions.
A quick recap of Scala
This course requires a decent knowledge of Scala. To make sure you understand Spark from a Data Engineering perspective, we added a module to quickly warm up with Scala. If you are not familiar with Scala, then we suggest you go through relevant courses on Scala as Programming Language.
Data Engineering using Spark SQL
Let us, deep-dive into Spark SQL to understand how it can be used to build Data Engineering Pipelines. Spark with SQL will provide us the ability to leverage distributed computing capabilities of Spark coupled with easy-to-use developer-friendly SQL-style syntax.
Getting Started with Spark SQL
Basic Transformations using Spark SQL
Managing Spark Metastore Tables - Basic DDL and DML
Managing Spark Metastore Tables Tables - DML and Partitioning
Overview of Spark SQL Functions
Windowing Functions using Spark SQL
Data Engineering using Spark Data Frame APIs
Spark Data Frame APIs are an alternative way of building Data Engineering applications at scale leveraging distributed computing capabilities of Spark. Data Engineers from application development backgrounds might prefer Data Frame APIs over Spark SQL to build Data Engineering applications.
Data Processing Overview using Spark Data Frame APIs leveraging Scala as Programming Language
Processing Column Data using Spark Data Frame APIs leveraging Scala as Programming Language
Basic Transformations using Spark Data Frame APIs leveraging Scala as Programming Language - Filtering, Aggregations, and Sorting
Joining Data Sets using Spark Data Frame APIs leveraging Scala as Programming Language
All the demos are given on our state-of-the-art Big Data cluster. You can avail of one-month complimentary lab access by reaching out to support@itversity.com with a Udemy receipt.