Unit 3: Using RDD for Creating Applications in Spark and Graph Analytics - Subjective Questions

INT315 — Cluster Computing • Practice Questions with Detailed Answers

20 questions

1

Define a Resilient Distributed Dataset (RDD) in Apache Spark. Explain its major features and discuss how these features support distributed data processing.

2

Explain the concept of RDD lineage and describe how lineage provides fault tolerance in Spark.

3

Describe different ways of creating RDDs in Spark. Provide suitable examples using parallelized collections and external datasets.

4

Explain RDD transformations and actions. Distinguish between them with appropriate examples.

5

Explain the map, flatMap, and filter RDD functions. Compare their behavior using an example.

6

Describe the key pair RDD functions used for aggregation and explain how reduceByKey, groupByKey, and aggregateByKey differ.

7

Explain lazy evaluation in Spark. Derive the sequence of execution for an RDD program containing transformations followed by an action.

8

Explain narrow and wide dependencies in RDDs. Compare their effects on stages, data movement, and performance.

9

Discuss RDD persistence and caching. Explain the available storage levels and the situations in which caching is useful.

10

Describe important RDD actions and methods such as collect, count, take, first, reduce, and saveAsTextFile.

11

Explain how to invoke and use the Spark shell. Describe the roles of the Spark context, Spark session, and command-line options.

12

Define shared variables in Spark. Explain broadcast variables and accumulators, including their uses and limitations.

13

Explain the architecture and basic data model of Spark GraphX. Describe vertices, edges, and the property graph.

14

Discuss the important features of Spark GraphX and explain how it differs from a general-purpose graph database.

15

Explain the GraphX operations mapVertices, mapEdges, and mapTriplets with suitable examples.

16

Describe the aggregateMessages operation in GraphX. Explain the role of the message-sending and message-merging functions.

17

Explain the Pregel API in GraphX and describe how it can be used to implement an iterative graph algorithm.

18

Compare the PageRank and connected components algorithms available in GraphX. Explain their purpose and typical applications.

19

Explain feature extraction and feature transformation in Spark. Distinguish between the two concepts and state why they are important in machine learning applications.

20

Describe the steps involved in transforming text data into feature vectors using Spark.