📖 Scenario: You are working with big data stored in Hadoop Distributed File System (HDFS). You need to manage files and directories using the HDFS command line interface (CLI).
🎯 Goal: Learn to use basic HDFS CLI commands to create directories, upload files, list contents, and check file details.
📋 What You'll Learn
Use hdfs dfs -mkdir to create directories
Use hdfs dfs -put to upload files
Use hdfs dfs -ls to list directory contents
Use hdfs dfs -cat to display file contents
💡 Why This Matters
🌍 Real World
Managing big data files in HDFS is essential for data engineers and analysts working with Hadoop ecosystems.
💼 Career
Knowing HDFS CLI commands helps in daily tasks like data ingestion, organization, and inspection in big data jobs.
Progress0 / 4 steps
1
Create a directory in HDFS
Write the command to create a directory called /user/data in HDFS using hdfs dfs -mkdir.
Hadoop
Hint
Use hdfs dfs -mkdir followed by the directory path.
2
Upload a file to HDFS directory
Write the command to upload a local file called sales.csv to the HDFS directory /user/data using hdfs dfs -put.
Hadoop
Hint
Use hdfs dfs -put followed by the local file and the HDFS directory.
3
List files in HDFS directory
Write the command to list all files in the HDFS directory /user/data using hdfs dfs -ls.
Hadoop
Hint
Use hdfs dfs -ls followed by the directory path.
4
Display contents of a file in HDFS
Write the command to display the contents of the file /user/data/sales.csv using hdfs dfs -cat.
Hadoop
Hint
Use hdfs dfs -cat followed by the file path.
Practice
(1/5)
1. What does the HDFS command hdfs dfs -ls /user/hadoop do?
easy
A. Uploads local files to /user/hadoop in HDFS
B. Deletes the directory /user/hadoop from HDFS
C. Lists all files and directories in the HDFS path /user/hadoop
D. Displays the content of files in /user/hadoop
Solution
Step 1: Understand the command structure
The command hdfs dfs -ls is used to list files and directories in HDFS.
Step 2: Analyze the given path
The path /user/hadoop specifies the directory to list.
Final Answer:
Lists all files and directories in the HDFS path /user/hadoop -> Option C
Quick Check:
hdfs dfs -ls lists files [OK]
Hint: Remember: '-ls' always lists files in given HDFS path [OK]
Common Mistakes:
Confusing '-ls' with '-rm' which deletes files
Thinking '-ls' uploads files
Assuming it shows file content
2. Which of the following is the correct syntax to upload a local file data.txt to HDFS directory /user/hadoop?
easy
A. hdfs dfs -put /user/hadoop data.txt
B. hdfs dfs -copyFromLocal /user/hadoop data.txt
C. hdfs dfs -get data.txt /user/hadoop
D. hdfs dfs -put data.txt /user/hadoop
Solution
Step 1: Identify the correct command for uploading
-put uploads local files to HDFS, and the syntax is hdfs dfs -put <local_path> <hdfs_path>.
Step 2: Match the syntax with options
hdfs dfs -put data.txt /user/hadoop correctly places data.txt as local file and /user/hadoop as HDFS destination.
Final Answer:
hdfs dfs -put data.txt /user/hadoop -> Option D
Quick Check:
-put local_file hdfs_path is correct [OK]
Hint: Remember: local file first, then HDFS path in '-put' [OK]
Common Mistakes:
Swapping local and HDFS paths
Using '-get' which downloads files
Using '-copyFromLocal' with wrong argument order
3. What will be the output of the command hdfs dfs -cat /user/hadoop/sample.txt if the file contains:
Hello Hadoop
Welcome to HDFS
medium
A. Lists the file details of sample.txt
B. Prints the content of sample.txt to the console
C. Deletes sample.txt from HDFS
D. Uploads sample.txt to HDFS
Solution
Step 1: Understand the '-cat' command
hdfs dfs -cat prints the content of a file in HDFS to the console.
Step 2: Analyze the file content
The file sample.txt contains two lines: 'Hello Hadoop' and 'Welcome to HDFS'.
Final Answer:
Prints the content of sample.txt to the console -> Option B
Quick Check:
-cat shows file content [OK]
Hint: Use '-cat' to display file content in HDFS [OK]
Common Mistakes:
Confusing '-cat' with '-ls' which lists files
Thinking it deletes files
Assuming it uploads files
4. You run the command hdfs dfs -rm /user/hadoop/data.csv but get an error saying file not found. What is the most likely cause?
medium
A. The file /user/hadoop/data.csv does not exist in HDFS
B. You used the wrong command; '-rm' cannot delete files
C. You need to use '-put' to delete files
D. The HDFS service is down
Solution
Step 1: Understand the error message
The error 'file not found' means the specified file does not exist at the given path.
Step 2: Check command correctness
-rm is the correct command to delete files in HDFS, so the error is not due to wrong command.
Final Answer:
The file /user/hadoop/data.csv does not exist in HDFS -> Option A
Quick Check:
File missing causes 'file not found' error [OK]
Hint: Check file existence before deleting with '-rm' [OK]
Common Mistakes:
Assuming '-rm' is wrong command
Trying to delete with '-put'
Ignoring file path correctness
5. You want to copy all files from local directory /local/data/ to HDFS directory /user/hadoop/data/ and then verify the files are uploaded. Which sequence of commands is correct?
hard
A. hdfs dfs -put /local/data/* /user/hadoop/data/ then hdfs dfs -ls /user/hadoop/data/
B. hdfs dfs -get /local/data/* /user/hadoop/data/ then hdfs dfs -cat /user/hadoop/data/
C. hdfs dfs -rm /local/data/* then hdfs dfs -ls /user/hadoop/data/
D. hdfs dfs -copyToLocal /local/data/* /user/hadoop/data/ then hdfs dfs -rm /user/hadoop/data/
Solution
Step 1: Choose the correct upload command
-put uploads local files to HDFS. Using /local/data/* uploads all files from local directory.
Step 2: Verify files in HDFS
hdfs dfs -ls /user/hadoop/data/ lists files in the HDFS directory to confirm upload.
Final Answer:
hdfs dfs -put /local/data/* /user/hadoop/data/ then hdfs dfs -ls /user/hadoop/data/ -> Option A
Quick Check:
Upload with '-put' then list with '-ls' [OK]
Hint: Upload with '-put' then check with '-ls' [OK]
Common Mistakes:
Using '-get' which downloads files
Deleting local files before upload
Using '-copyToLocal' which copies from HDFS to local
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.