Bird
Raised Fist0
Apache Sparkdata~10 mins

Creating RDDs from collections and files in Apache Spark - Interactive Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to create an RDD from a Python list.

Apache Spark
data = [1, 2, 3, 4, 5]
rdd = sc.[1](data)
Drag options to blanks, or click blank then click option'
Aparallelize
BtextFile
Cread
Dcollect
Attempts:
3 left
💡 Hint
Common Mistakes
Using textFile instead of parallelize for a list.
Trying to use collect to create an RDD.
2fill in blank
medium

Complete the code to create an RDD by reading a text file.

Apache Spark
rdd = sc.[1]("/path/to/file.txt")
Drag options to blanks, or click blank then click option'
Aparallelize
BreadFile
Cload
DtextFile
Attempts:
3 left
💡 Hint
Common Mistakes
Using parallelize to read a file path string.
Using readFile which is not a Spark method.
3fill in blank
hard

Fix the error in the code to create an RDD from a list of numbers.

Apache Spark
numbers = [10, 20, 30]
rdd = sc.[1](numbers).collect()
Drag options to blanks, or click blank then click option'
Aparallelize
BtextFile
Cread
Dload
Attempts:
3 left
💡 Hint
Common Mistakes
Using textFile on a list causes errors.
Trying to use read or load which are not valid here.
4fill in blank
hard

Fill both blanks to create an RDD from a list and filter even numbers.

Apache Spark
data = [1, 2, 3, 4, 5]
rdd = sc.[1](data).filter(lambda x: x [2] 2 == 0)
Drag options to blanks, or click blank then click option'
Aparallelize
B%
C//
D==
Attempts:
3 left
💡 Hint
Common Mistakes
Using textFile instead of parallelize.
Using // instead of % for modulus.
5fill in blank
hard

Fill all three blanks to create an RDD from a file, map each line to uppercase, and collect the results.

Apache Spark
rdd = sc.[1]("/path/to/file.txt")
upper_rdd = rdd.[2](lambda line: line.[3]())
result = upper_rdd.collect()
Drag options to blanks, or click blank then click option'
AtextFile
Bmap
Cupper
Dparallelize
Attempts:
3 left
💡 Hint
Common Mistakes
Using parallelize instead of textFile for reading files.
Using map incorrectly or missing it.
Using lower instead of upper for uppercase conversion.

Practice

(1/5)
1. What does the parallelize() method do in Apache Spark?
easy
A. Creates an RDD from a local collection like a list
B. Reads data from a text file into an RDD
C. Saves an RDD to a file
D. Filters elements in an RDD

Solution

  1. Step 1: Understand the purpose of parallelize()

    This method takes a local collection such as a list and creates an RDD from it, enabling parallel processing.
  2. Step 2: Differentiate from other methods

    textFile() reads from files, saveAsTextFile() saves data, and filter() filters data. These are different from parallelize().
  3. Final Answer:

    Creates an RDD from a local collection like a list -> Option A
  4. Quick Check:

    parallelize() = create RDD from list [OK]
Hint: parallelize() = local list to RDD [OK]
Common Mistakes:
  • Confusing parallelize() with textFile()
  • Thinking parallelize() reads files
  • Mixing up saving and creating RDDs
2. Which of the following is the correct syntax to create an RDD from a list [1, 2, 3] using SparkContext sc?
easy
A. sc.load([1, 2, 3])
B. sc.parallelize([1, 2, 3])
C. sc.createRDD([1, 2, 3])
D. sc.textFile([1, 2, 3])

Solution

  1. Step 1: Recall the method to create RDD from a list

    The correct method is parallelize() called on SparkContext with the list as argument.
  2. Step 2: Check syntax correctness

    sc.parallelize([1, 2, 3]) is valid syntax. Other options are invalid or do not exist.
  3. Final Answer:

    sc.parallelize([1, 2, 3]) -> Option B
  4. Quick Check:

    Use parallelize() with list [OK]
Hint: Use sc.parallelize(list) to create RDD [OK]
Common Mistakes:
  • Using textFile() with a list argument
  • Trying to use non-existent methods like createRDD()
  • Passing list to load() which is for files
3. Given the following code snippet:
rdd = sc.parallelize(['apple', 'banana', 'cherry'])
result = rdd.collect()

What will be the value of result?
medium
A. A list of line numbers
B. An RDD object
C. ['apple', 'banana', 'cherry']
D. A text file path

Solution

  1. Step 1: Understand what parallelize() does

    It creates an RDD from the list ['apple', 'banana', 'cherry'].
  2. Step 2: Understand what collect() does

    collect() returns all elements of the RDD as a list to the driver program.
  3. Final Answer:

    ['apple', 'banana', 'cherry'] -> Option C
  4. Quick Check:

    collect() returns list of RDD elements [OK]
Hint: collect() returns all RDD elements as list [OK]
Common Mistakes:
  • Thinking collect() returns an RDD
  • Confusing collect() with saving to file
  • Expecting line numbers instead of data
4. Identify the error in the following code snippet:
rdd = sc.textFile([1, 2, 3])
print(rdd.collect())
medium
A. textFile() expects a string path, not a list
B. collect() cannot be called on textFile RDD
C. sc.textFile() requires two arguments
D. print() cannot display RDD contents

Solution

  1. Step 1: Check the argument type for textFile()

    textFile() expects a string path to a file, not a list of strings.
  2. Step 2: Understand the error cause

    Passing a list causes a type error because Spark cannot interpret it as a file path.
  3. Final Answer:

    textFile() expects a string path, not a list -> Option A
  4. Quick Check:

    textFile() needs string path [OK]
Hint: Pass file path as string to textFile() [OK]
Common Mistakes:
  • Passing list instead of string to textFile()
  • Thinking collect() is invalid on textFile RDD
  • Assuming textFile needs multiple arguments
5. You want to create an RDD from a text file named data.txt and then filter lines containing the word "error". Which code snippet correctly creates the RDD and applies the filter?
hard
A. rdd = sc.load('data.txt') filtered = rdd.filter(lambda line: 'error' in line)
B. rdd = sc.parallelize('data.txt') filtered = rdd.filter(lambda line: 'error' in line)
C. rdd = sc.textFile([1, 2, 3]) filtered = rdd.filter(lambda line: 'error' in line)
D. rdd = sc.textFile('data.txt') filtered = rdd.filter(lambda line: 'error' in line)

Solution

  1. Step 1: Choose correct method to create RDD from file

    sc.textFile('data.txt') reads the file line by line into an RDD. Passing a string path is required.
  2. Step 2: Apply filter to select lines containing 'error'

    The filter() method with a lambda checks each line for the substring 'error'. This is the correct way to filter.
  3. Final Answer:

    rdd = sc.textFile('data.txt') filtered = rdd.filter(lambda line: 'error' in line) -> Option D
  4. Quick Check:

    Use textFile() with string path + filter() [OK]
Hint: Use textFile('file') then filter() with lambda [OK]
Common Mistakes:
  • Using parallelize() to read files
  • Passing list instead of string to textFile()
  • Using non-existent sc.load() method
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard