Bird
Raised Fist0
Hadoopdata~5 mins

CRUD operations in HBase in Hadoop - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does CRUD stand for in the context of HBase?
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'
Click to reveal answer
Which command creates a new table in HBase?
Acreate 'table_name', 'column_family'
Bput 'table_name', 'row_key', 'column_family:qualifier', 'value'
Cget 'table_name', 'row_key'
Ddelete 'table_name', 'row_key', 'column_family:qualifier'
What does the 'put' command do in HBase?
ADeletes data
BCreates a table
CReads data
DInserts or updates data
How do you read a single row from an HBase table?
Ascan 'table_name'
Bdelete 'table_name', 'row_key'
Cget 'table_name', 'row_key'
Dput 'table_name', 'row_key', 'column_family:qualifier', 'value'
Which commands are needed to delete a table in HBase?
Adelete 'table_name'
Bdisable 'table_name' and drop 'table_name'
Cput 'table_name', 'row_key', 'column_family:qualifier', 'value'
Dget 'table_name', 'row_key'
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
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

      1. 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.
      2. Step 2: Identify the read operation

        Get is the specific operation to retrieve data for a single row.
      3. Final Answer:

        Get -> Option A
      4. 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

      1. 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).
      2. 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.
      3. 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
      4. 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

      1. Step 1: Insert data with Put operation

        The code puts value "Alice" in column family "cf" and qualifier "name" for row "row1".
      2. Step 2: Retrieve data with Get operation

        The Get fetches the row "row1" and extracts the value for "cf:name" which is "Alice".
      3. Final Answer:

        Alice -> Option D
      4. 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

      1. Step 1: Check Delete constructor parameter type

        The Delete constructor requires a byte array for the row key, not a plain string.
      2. Step 2: Verify method usage

        addColumn is valid for deleting a specific column. table.delete() is correct method.
      3. Final Answer:

        Delete constructor argument should be bytes, not string -> Option A
      4. 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

      1. 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".
      2. 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.
      3. Final Answer:

        Create a Put with new value, call table.put(put), then call table.get(get) to read updated value -> Option B
      4. 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 unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard