CRUD stands for Create, Read, Update, and Delete. These are the basic operations to manage data in HBase tables.
Click to reveal answer
beginner
How do you create a new table in HBase?
You create a table in HBase using the HBase shell command: create 'table_name', 'column_family' This sets up a table with the specified column family.
Click to reveal answer
beginner
Which HBase shell command is used to insert or update data in a table?
The put command is used to insert or update data. Example: put 'table_name', 'row_key', 'column_family:qualifier', 'value'
Click to reveal answer
beginner
How do you read data from an HBase table?
You use the get command to read data for a specific row: get 'table_name', 'row_key' Or use scan 'table_name' to read multiple rows.
Click to reveal answer
beginner
What command deletes data or tables in HBase?
To delete a row or cell, use: delete 'table_name', 'row_key', 'column_family:qualifier' To delete a whole table: disable 'table_name' drop 'table_name'
You must first disable the table, then drop it to delete it.
What is the purpose of the 'delete' command in HBase?
ARemove data from a row or cell
BInsert data
CCreate a new table
DRead data
✗ Incorrect
The 'delete' command removes data from a specific row or cell.
Explain the steps and commands to perform CRUD operations in HBase.
Think about how you manage data in a spreadsheet: add, view, change, and remove.
You got /5 concepts.
Describe how you would delete a specific cell value and then remove the entire table in HBase.
Deleting a table is a two-step process after deleting data.
You got /3 concepts.
Practice
(1/5)
1. Which HBase operation is used to retrieve data from a table?
easy
A. Get
B. Put
C. Delete
D. Scan
Solution
Step 1: Understand HBase CRUD operations
HBase uses Get to read data, Put to create or update, Delete to remove, and Scan to read multiple rows.
Step 2: Identify the read operation
Get is the specific operation to retrieve data for a single row.
Final Answer:
Get -> Option A
Quick Check:
Read = Get [OK]
Hint: Remember: Get = Read, Put = Create/Update [OK]
Common Mistakes:
Confusing Put with Get
Using Delete to read data
Thinking Scan is for single row read
2. Which of the following is the correct syntax to insert data into HBase using Java API?
easy
A. Delete delete = new Delete(Bytes.toBytes("row1")); table.put(delete);
B. Get get = new Get(Bytes.toBytes("row1")); table.put(get);
C. Put put = new Put(Bytes.toBytes("row1")); put.addColumn(Bytes.toBytes("cf"), Bytes.toBytes("qual"), Bytes.toBytes("value")); table.put(put);
D. Put put = new Put("row1"); put.add("cf", "qual", "value"); table.get(put);
Solution
Step 1: Review correct Put syntax in HBase Java API
Put requires a row key as bytes, then addColumn with column family, qualifier, and value as bytes, then call table.put(put).
Step 2: Check each option
Put put = new Put(Bytes.toBytes("row1")); put.addColumn(Bytes.toBytes("cf"), Bytes.toBytes("qual"), Bytes.toBytes("value")); table.put(put); matches correct syntax. Get get = new Get(Bytes.toBytes("row1")); table.put(get); wrongly uses Get with put. Delete delete = new Delete(Bytes.toBytes("row1")); table.put(delete); uses Delete with put. Put put = new Put("row1"); put.add("cf", "qual", "value"); table.get(put); uses wrong constructors and methods.
Final Answer:
Put put = new Put(Bytes.toBytes("row1")); put.addColumn(Bytes.toBytes("cf"), Bytes.toBytes("qual"), Bytes.toBytes("value")); table.put(put); -> Option C
Quick Check:
Put syntax correct = Put put = new Put(Bytes.toBytes("row1")); put.addColumn(Bytes.toBytes("cf"), Bytes.toBytes("qual"), Bytes.toBytes("value")); table.put(put); [OK]
Hint: Put needs Bytes.toBytes for all keys and values [OK]
Common Mistakes:
Using Get or Delete with put()
Not converting strings to bytes
Wrong method names like add() instead of addColumn()
3. What will be the output of the following HBase Java code snippet?
Put put = new Put(Bytes.toBytes("row1"));
put.addColumn(Bytes.toBytes("cf"), Bytes.toBytes("name"), Bytes.toBytes("Alice"));
table.put(put);
Get get = new Get(Bytes.toBytes("row1"));
Result result = table.get(get);
byte[] value = result.getValue(Bytes.toBytes("cf"), Bytes.toBytes("name"));
System.out.println(Bytes.toString(value));
medium
A. Compilation Error
B. null
C. cf:name
D. Alice
Solution
Step 1: Insert data with Put operation
The code puts value "Alice" in column family "cf" and qualifier "name" for row "row1".
Step 2: Retrieve data with Get operation
The Get fetches the row "row1" and extracts the value for "cf:name" which is "Alice".
Final Answer:
Alice -> Option D
Quick Check:
Put then Get returns inserted value [OK]
Hint: Put then Get returns inserted value exactly [OK]
Common Mistakes:
Expecting null if not flushed
Confusing column family and qualifier
Forgetting to convert bytes to string
4. Identify the error in the following HBase delete operation code snippet:
Delete delete = new Delete("row1");
delete.addColumn(Bytes.toBytes("cf"), Bytes.toBytes("qual"));
table.delete(delete);
medium
A. Delete constructor argument should be bytes, not string
B. addColumn method is deprecated, should use addColumns
C. table.delete() method does not exist
D. No error, code is correct
Solution
Step 1: Check Delete constructor parameter type
The Delete constructor requires a byte array for the row key, not a plain string.
Step 2: Verify method usage
addColumn is valid for deleting a specific column. table.delete() is correct method.
Final Answer:
Delete constructor argument should be bytes, not string -> Option A
Quick Check:
Delete row key must be bytes [OK]
Hint: Always convert row keys to bytes in HBase operations [OK]
Common Mistakes:
Passing string directly instead of bytes
Confusing addColumn with addColumns
Thinking table.delete() is invalid
5. You want to update the value of a column "status" in column family "info" for row "user123" in HBase. Which sequence of operations is correct to ensure the update is saved and can be read back immediately?
hard
A. Create a Delete for the old value, call table.delete(delete), then create a Put with new value and call table.put(put)
B. Create a Put with new value, call table.put(put), then call table.get(get) to read updated value
C. Call table.get(get) first, then create a Put with new value and call table.put(put)
D. Create a Put with new value, call table.get(get), then call table.put(put)
Solution
Step 1: Use Put to update the column value
In HBase, Put operation overwrites existing values for the same column, so create a Put with the new "status" value for "user123".
Step 2: Save and verify update
Call table.put(put) to save the update, then use table.get(get) to read back the updated value immediately.
Final Answer:
Create a Put with new value, call table.put(put), then call table.get(get) to read updated value -> Option B
Quick Check:
Put updates value, Get reads updated value [OK]
Hint: Put overwrites; Get reads latest value after put [OK]
Common Mistakes:
Deleting before putting is unnecessary
Getting before putting returns old value
Calling get before put misses update
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.