📖 Scenario: You work as a data analyst in a company that collects sales data from different stores. Sometimes, the data has missing or wrong values, which causes errors in reports and decisions.Your job is to check the quality of the sales data before it is used for analysis. You will identify and filter out bad data to prevent problems later.
🎯 Goal: Build a Spark program that loads sales data, sets a quality threshold, filters out bad data based on that threshold, and shows the clean data. This will help avoid failures in later steps.
📋 What You'll Learn
Create a Spark DataFrame with sales data including some bad entries
Set a threshold for minimum valid sales amount
Filter the DataFrame to keep only rows with sales amount above the threshold
Print the filtered clean data
💡 Why This Matters
🌍 Real World
In real companies, data often has errors or missing values. Checking data quality early stops bad data from causing wrong reports or system crashes.
💼 Career
Data analysts and engineers must clean and validate data before analysis or machine learning to ensure reliable results and avoid costly mistakes.
Progress0 / 4 steps
1
Create sales data DataFrame
Create a Spark DataFrame called sales_df with these exact rows: ("Store1", 100), ("Store2", -50), ("Store3", 200), ("Store4", 0), ("Store5", 150). The columns should be store and sales.
Apache Spark
Hint
Use spark.createDataFrame() with a list of tuples and specify the column names.
2
Set quality threshold
Create a variable called min_sales and set it to 1. This will be the minimum valid sales amount to keep.
Apache Spark
Hint
Just create a variable named min_sales and assign the value 1.
3
Filter bad data using threshold
Create a new DataFrame called clean_sales_df by filtering sales_df to keep only rows where the sales column is greater than or equal to min_sales.
Apache Spark
Hint
Use the filter() method on sales_df with the condition sales_df.sales >= min_sales.
4
Show clean sales data
Use print() to display the rows of clean_sales_df by collecting them and printing the list.
Apache Spark
Hint
Use clean_sales_df.collect() inside print() to show the filtered rows.
Practice
(1/5)
1. Why is maintaining good data quality important in Apache Spark pipelines?
easy
A. It prevents errors and failures in later processing steps
B. It makes the data files smaller in size
C. It speeds up the Spark installation process
D. It automatically creates visualizations
Solution
Step 1: Understand the role of data quality
Good data quality means data is accurate, complete, and consistent, which helps avoid problems later.
Step 2: Connect data quality to pipeline stability
If data has errors or missing values, Spark jobs can fail or produce wrong results downstream.
Final Answer:
It prevents errors and failures in later processing steps -> Option A
Quick Check:
Good data quality = fewer downstream errors [OK]
Hint: Good data quality stops errors later [OK]
Common Mistakes:
Thinking data size reduction is main goal
Confusing data quality with installation speed
Assuming data quality creates visualizations
2. Which Spark DataFrame method is used to remove rows with missing values to improve data quality?
easy
A. fillna()
B. dropna()
C. select()
D. groupBy()
Solution
Step 1: Identify method to remove missing data
dropna() removes rows with null or missing values from a DataFrame.
Step 2: Differentiate from other methods
fillna() fills missing values but does not remove rows; select() chooses columns; groupBy() aggregates data.