Bird
Raised Fist0
Hadoopdata~10 mins

Block storage and replication in Hadoop - Interactive Code Practice

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

Complete the code to specify the default replication factor in Hadoop configuration.

Hadoop
conf.set("dfs.replication", [1])
Drag options to blanks, or click blank then click option'
A"1"
B"5"
C"3"
D"0"
Attempts:
3 left
💡 Hint
Common Mistakes
Setting replication factor to 0 disables replication, which is not recommended.
Using replication factor 1 means no copies, risking data loss.
2fill in blank
medium

Complete the code to get the block size from Hadoop configuration.

Hadoop
long blockSize = conf.getLong("dfs.blocksize", [1]);
Drag options to blanks, or click blank then click option'
A67108864
B262144
C33554432
D134217728
Attempts:
3 left
💡 Hint
Common Mistakes
Confusing block size with replication factor.
Using too small or too large block sizes without reason.
3fill in blank
hard

Fix the error in the code to correctly retrieve the replication factor as an integer.

Hadoop
int replication = conf.getInt("dfs.replication", [1]);
Drag options to blanks, or click blank then click option'
A3
B"3"
Cnull
D0
Attempts:
3 left
💡 Hint
Common Mistakes
Passing a string instead of an integer causes a type error.
Using null as default causes runtime exceptions.
4fill in blank
hard

Fill both blanks to create a dictionary comprehension that maps block IDs to their replication counts, filtering blocks with replication less than 3.

Hadoop
block_replications = {block_id: replication for block_id, replication in blocks.items() if replication [1] [2]
Drag options to blanks, or click blank then click option'
A>=
B<
C3
D2
Attempts:
3 left
💡 Hint
Common Mistakes
Using >= instead of < changes the filter logic.
Using wrong threshold number.
5fill in blank
hard

Fill all three blanks to create a dictionary comprehension that maps block IDs to their sizes for blocks with size greater than 128 MB.

Hadoop
large_blocks = { [1] : [2] for [3] in blocks.items() if size > 134217728 }
Drag options to blanks, or click blank then click option'
Ablock_id
Bsize
C(block_id, size)
Dblock
Attempts:
3 left
💡 Hint
Common Mistakes
Using wrong variable names causing errors.
Not unpacking the tuple correctly.

Practice

(1/5)
1. What is the main purpose of splitting files into blocks in Hadoop's block storage?
easy
A. To delete duplicate files automatically
B. To reduce the file size permanently
C. To encrypt the data for security
D. To make large files easier to manage and process

Solution

  1. Step 1: Understand file splitting in Hadoop

    Hadoop splits large files into smaller blocks to handle them efficiently across many machines.
  2. Step 2: Identify the purpose of block storage

    This splitting helps in parallel processing and easier management of big data.
  3. Final Answer:

    To make large files easier to manage and process -> Option D
  4. Quick Check:

    Block storage = easier file management [OK]
Hint: Blocks split files for easier handling and processing [OK]
Common Mistakes:
  • Thinking blocks reduce file size permanently
  • Confusing block splitting with encryption
  • Assuming blocks delete duplicates automatically
2. Which of the following is the correct way to set the replication factor to 3 in Hadoop configuration?
easy
A. replication=3
B. replication.factor=3
C. dfs.replication=3
D. dfs.replication_factor=3

Solution

  1. Step 1: Recall Hadoop replication configuration property

    The correct property to set replication factor is dfs.replication.
  2. Step 2: Match the exact syntax

    The value is assigned directly as dfs.replication=3 in the configuration file.
  3. Final Answer:

    <code>dfs.replication=3</code> -> Option C
  4. Quick Check:

    Replication factor property = dfs.replication [OK]
Hint: Use dfs.replication to set replication factor [OK]
Common Mistakes:
  • Using incorrect property names like replication.factor
  • Adding extra underscores in property name
  • Omitting 'dfs.' prefix
3. Consider a Hadoop cluster with block size 128 MB and replication factor 3. If a file of 640 MB is stored, how many total blocks are stored across the cluster?
medium
A. 12 blocks
B. 15 blocks
C. 3 blocks
D. 5 blocks

Solution

  1. Step 1: Calculate number of blocks for the file

    File size 640 MB divided by block size 128 MB gives 640 / 128 = 5 blocks.
  2. Step 2: Multiply by replication factor

    Each block is replicated 3 times, so total blocks stored = 5 * 3 = 15 blocks.
  3. Final Answer:

    15 blocks -> Option B
  4. Quick Check:

    Total blocks = file blocks x replication factor = 15 [OK]
Hint: Multiply file blocks by replication factor [OK]
Common Mistakes:
  • Counting only original blocks without replication
  • Dividing file size by replication factor
  • Using wrong block size in calculation
4. A Hadoop admin sets the replication factor to 2 but notices only one copy of each block is stored. What is the likely cause?
medium
A. The cluster has only one DataNode available
B. The block size is too large
C. The file is too small to replicate
D. Replication factor must be set to 1

Solution

  1. Step 1: Understand replication behavior

    Replication factor sets desired copies, but actual copies depend on available DataNodes.
  2. Step 2: Identify cluster limitation

    If only one DataNode exists, Hadoop cannot store multiple copies, so only one block copy is stored.
  3. Final Answer:

    The cluster has only one DataNode available -> Option A
  4. Quick Check:

    Replication copies depend on DataNodes count [OK]
Hint: Replication needs multiple DataNodes to store copies [OK]
Common Mistakes:
  • Thinking block size affects replication copies
  • Assuming small files don't replicate
  • Believing replication factor must be 1
5. You want to optimize Hadoop storage for a critical dataset by increasing fault tolerance but have limited disk space. Which approach balances safety and storage best?
hard
A. Increase replication factor moderately and reduce block size slightly
B. Set replication factor to maximum and keep default block size
C. Keep replication factor low and increase block size greatly
D. Disable replication and rely on backups

Solution

  1. Step 1: Understand trade-offs of replication and block size

    Higher replication increases fault tolerance but uses more disk space. Smaller block size can improve parallelism but may increase metadata overhead.
  2. Step 2: Balance replication and block size

    Moderately increasing replication improves safety without excessive space use. Slightly reducing block size helps manage data efficiently.
  3. Final Answer:

    Increase replication factor moderately and reduce block size slightly -> Option A
  4. Quick Check:

    Moderate replication + smaller blocks = balanced safety and storage [OK]
Hint: Balance replication and block size for best storage use [OK]
Common Mistakes:
  • Maxing replication wastes disk space
  • Large blocks reduce fault tolerance
  • Disabling replication risks data loss
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