Bird
Raised Fist0
Hadoopdata~5 mins

Creating databases and tables in Hadoop

Choose your learning style10 modes available
Introduction

We create databases and tables to organize and store data in a structured way. This helps us find and use data easily later.

When starting a new project and you need a place to save your data.
When you want to separate data for different teams or purposes.
When you want to store data in a format that is easy to analyze.
When you need to manage large amounts of data efficiently.
When you want to control who can see or change the data.
Syntax
Hadoop
CREATE DATABASE database_name;

CREATE TABLE table_name (
  column1_name column1_type,
  column2_name column2_type,
  ...
) STORED AS file_format;

The CREATE DATABASE command makes a new database.

The CREATE TABLE command makes a new table inside a database.

Examples
This creates a new database called sales_data.
Hadoop
CREATE DATABASE sales_data;
This creates a table customers in the sales_data database with three columns and stores data in Parquet format.
Hadoop
CREATE TABLE sales_data.customers (
  id INT,
  name STRING,
  age INT
) STORED AS PARQUET;
This creates a table employees with three columns and stores data in ORC format.
Hadoop
CREATE TABLE employees (
  emp_id INT,
  emp_name STRING,
  salary FLOAT
) STORED AS ORC;
Sample Program

This code creates a database called company. Then it creates a table employees inside it with four columns. Finally, it lists all databases and tables in the company database.

Hadoop
CREATE DATABASE company;

CREATE TABLE company.employees (
  emp_id INT,
  emp_name STRING,
  department STRING,
  salary FLOAT
) STORED AS PARQUET;

SHOW DATABASES;
SHOW TABLES IN company;
OutputSuccess
Important Notes

Database and table names should be unique and meaningful.

Choose the file format (like PARQUET or ORC) based on your data size and query needs.

Use SHOW DATABASES; and SHOW TABLES IN database_name; to check what you created.

Summary

Databases help organize data into separate groups.

Tables store data in rows and columns inside databases.

Creating databases and tables is the first step to working with data in Hadoop.

Practice

(1/5)
1. What is the main purpose of creating a database in Hadoop?
easy
A. To run queries faster
B. To store data in rows and columns
C. To organize data into separate groups
D. To delete old data automatically

Solution

  1. Step 1: Understand the role of a database

    A database is used to organize data logically into separate groups or collections.
  2. Step 2: Differentiate database from tables

    Tables store data in rows and columns inside a database, but the database itself is for grouping.
  3. Final Answer:

    To organize data into separate groups -> Option C
  4. Quick Check:

    Database = Organize data groups [OK]
Hint: Databases group data; tables hold the data [OK]
Common Mistakes:
  • Confusing database with table
  • Thinking database stores data directly
  • Assuming database speeds up queries automatically
2. Which of the following is the correct syntax to create a database named sales_db in Hive?
easy
A. CREATE DATABASE sales_db;
B. MAKE DATABASE sales_db;
C. CREATE DB sales_db;
D. NEW DATABASE sales_db;

Solution

  1. Step 1: Recall Hive syntax for database creation

    The correct command to create a database in Hive is CREATE DATABASE database_name;.
  2. Step 2: Check each option

    Only CREATE DATABASE sales_db; matches the correct syntax exactly.
  3. Final Answer:

    CREATE DATABASE sales_db; -> Option A
  4. Quick Check:

    CREATE DATABASE = correct syntax [OK]
Hint: Use CREATE DATABASE, not MAKE or NEW [OK]
Common Mistakes:
  • Using MAKE or NEW instead of CREATE
  • Abbreviating DATABASE as DB
  • Missing semicolon at end
3. What will be the result of running this Hive query?
CREATE TABLE employees (id INT, name STRING, salary FLOAT);
medium
A. Creates a table named employees with three columns
B. Throws a syntax error due to missing database name
C. Creates a database named employees
D. Creates a table with no columns

Solution

  1. Step 1: Analyze the CREATE TABLE statement

    The query uses correct syntax to create a table named employees with columns id, name, and salary.
  2. Step 2: Check for errors or missing parts

    Database name is optional if default database is used; no syntax error here.
  3. Final Answer:

    Creates a table named employees with three columns -> Option A
  4. Quick Check:

    CREATE TABLE with columns = creates table [OK]
Hint: CREATE TABLE defines columns inside parentheses [OK]
Common Mistakes:
  • Thinking database name is mandatory
  • Confusing table and database creation
  • Assuming syntax error without checking carefully
4. Identify the error in this Hive query:
CREATE TABLE users id INT, name STRING;
medium
A. Table name is invalid
B. Missing parentheses around column definitions
C. Data types are incorrect
D. CREATE TABLE keyword is misspelled

Solution

  1. Step 1: Review the syntax for CREATE TABLE

    Column definitions must be enclosed in parentheses after the table name.
  2. Step 2: Check the given query

    The query misses parentheses around id INT, name STRING, causing syntax error.
  3. Final Answer:

    Missing parentheses around column definitions -> Option B
  4. Quick Check:

    Columns need parentheses [OK]
Hint: Always use parentheses for columns in CREATE TABLE [OK]
Common Mistakes:
  • Forgetting parentheses
  • Assuming table name is wrong
  • Thinking data types are invalid
5. You want to create a database company_db and inside it a table departments with columns dept_id INT and dept_name STRING. Which sequence of commands is correct?
hard
A. CREATE TABLE company_db.departments (dept_id INT, dept_name STRING);
B. CREATE DATABASE company_db; CREATE TABLE departments dept_id INT, dept_name STRING;
C. USE company_db; CREATE DATABASE company_db; CREATE TABLE departments (dept_id INT, dept_name STRING);
D. CREATE DATABASE company_db; USE company_db; CREATE TABLE departments (dept_id INT, dept_name STRING);

Solution

  1. Step 1: Create the database first

    Use CREATE DATABASE company_db; to make the database.
  2. Step 2: Switch to the new database

    Use USE company_db; to set the context for table creation.
  3. Step 3: Create the table with correct syntax

    Use CREATE TABLE departments (dept_id INT, dept_name STRING); inside the database.
  4. Final Answer:

    CREATE DATABASE company_db; USE company_db; CREATE TABLE departments (dept_id INT, dept_name STRING); -> Option D
  5. Quick Check:

    Create DB, switch DB, then create table [OK]
Hint: Create DB, then USE it before creating tables [OK]
Common Mistakes:
  • Trying to create table before database
  • Wrong order of USE and CREATE DATABASE
  • Missing parentheses in CREATE TABLE
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