0% found this document useful (0 votes)
16 views

6 - Create Table

This document explains how to create tables and load data in Hive. It provides the syntax for CREATE TABLE and LOAD DATA statements. Examples are given to demonstrate creating a table called employee and loading sample data into it using both HiveQL and JDBC.

Uploaded by

boxbe9876
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

6 - Create Table

This document explains how to create tables and load data in Hive. It provides the syntax for CREATE TABLE and LOAD DATA statements. Examples are given to demonstrate creating a table called employee and loading sample data into it using both HiveQL and JDBC.

Uploaded by

boxbe9876
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

4/2/24, 7:29 AM Hive - Create Table

Hive - Create Table

This chapter explains how to create a table and how to insert data into it. The
conventions of creating a table in HIVE is quite similar to creating a table using SQL.

Create Table Statement


Create Table is a statement used to create a table in Hive. The syntax and example
are as follows:

Syntax

CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.] table_name

[(col_name data_type [COMMENT col_comment], ...)]


[COMMENT table_comment]
[ROW FORMAT row_format]
[STORED AS file_format]

Example

Let us assume you need to create a table named employee using CREATE TABLE
statement. The following table lists the fields and their data types in employee table:

Sr.No Field Name Data Type

1 Eid int

2 Name String

3 Salary Float

4 Designation string

The following data is a Comment, Row formatted fields such as Field terminator,
Lines terminator, and Stored File type.

https://www.tutorialspoint.com/hive/hive_create_table.htm 1/6
4/2/24, 7:29 AM Hive - Create Table

COMMENT ‘Employee details’


FIELDS TERMINATED BY ‘\t’
LINES TERMINATED BY ‘\n’
STORED IN TEXT FILE

The following query creates a table named employee using the above data.

hive> CREATE TABLE IF NOT EXISTS employee ( eid int, name String,
salary String, destination String)
COMMENT ‘Employee details’
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ‘\t’
LINES TERMINATED BY ‘\n’
STORED AS TEXTFILE;

If you add the option IF NOT EXISTS, Hive ignores the statement in case the table
already exists.

On successful creation of table, you get to see the following response:

OK
Time taken: 5.905 seconds
hive>

JDBC Program

The JDBC program to create a table is given example.

import java.sql.SQLException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.DriverManager;

public class HiveCreateTable {


private static String driverName = "org.apache.hadoop.hive.jdbc.HiveDriver

public static void main(String[] args) throws SQLException {

// Register driver and create driver instance

https://www.tutorialspoint.com/hive/hive_create_table.htm 2/6
4/2/24, 7:29 AM Hive - Create Table

Class.forName(driverName);

// get connection
Connection con = DriverManager.getConnection("jdbc:hive://localhost:100

// create statement
Statement stmt = con.createStatement();

// execute statement
stmt.executeQuery("CREATE TABLE IF NOT EXISTS "
+" employee ( eid int, name String, "
+" salary String, destignation String)"
+" COMMENT ‘Employee details’"
+" ROW FORMAT DELIMITED"
+" FIELDS TERMINATED BY ‘\t’"
+" LINES TERMINATED BY ‘\n’"
+" STORED AS TEXTFILE;");

System.out.println(“ Table employee created.”);


con.close();
}
}

Save the program in a file named HiveCreateDb.java. The following commands are
used to compile and execute this program.

$ javac HiveCreateDb.java
$ java HiveCreateDb

Output

Table employee created.

Load Data Statement


Generally, after creating a table in SQL, we can insert data using the Insert
statement. But in Hive, we can insert data using the LOAD DATA statement.

While inserting data into Hive, it is better to use LOAD DATA to store bulk records.
There are two ways to load data: one is from local file system and second is from

https://www.tutorialspoint.com/hive/hive_create_table.htm 3/6
4/2/24, 7:29 AM Hive - Create Table

Hadoop file system.

Syntax

The syntax for load data is as follows:

LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename


[PARTITION (partcol1=val1, partcol2=val2 ...)]

LOCAL is identifier to specify the local path. It is optional.

OVERWRITE is optional to overwrite the data in the table.


PARTITION is optional.

Example

We will insert the following data into the table. It is a text file named sample.txt in
/home/user directory.

1201 Gopal 45000 Technical manager


1202 Manisha 45000 Proof reader
1203 Masthanvali 40000 Technical writer
1204 Kiran 40000 Hr Admin
1205 Kranthi 30000 Op Admin

The following query loads the given text into the table.

hive> LOAD DATA LOCAL INPATH '/home/user/sample.txt'


OVERWRITE INTO TABLE employee;

On successful download, you get to see the following response:

OK
Time taken: 15.905 seconds
hive>

JDBC Program

Given below is the JDBC program to load given data into the table.

https://www.tutorialspoint.com/hive/hive_create_table.htm 4/6
4/2/24, 7:29 AM Hive - Create Table

import java.sql.SQLException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.DriverManager;

public class HiveLoadData {

private static String driverName = "org.apache.hadoop.hive.jdbc.HiveDriver

public static void main(String[] args) throws SQLException {

// Register driver and create driver instance


Class.forName(driverName);

// get connection
Connection con = DriverManager.getConnection("jdbc:hive://localhost:100

// create statement
Statement stmt = con.createStatement();

// execute statement
stmt.executeQuery("LOAD DATA LOCAL INPATH '/home/user/sample.txt'" + "O
System.out.println("Load Data into employee successful");

con.close();
}
}

Save the program in a file named HiveLoadData.java. Use the following commands
to compile and execute this program.

$ javac HiveLoadData.java
$ java HiveLoadData

Output:

https://www.tutorialspoint.com/hive/hive_create_table.htm 5/6
4/2/24, 7:29 AM Hive - Create Table

Load Data into employee successful

https://www.tutorialspoint.com/hive/hive_create_table.htm 6/6

You might also like