CREATE TABLE LIKE
Description
The CREATE TABLE statement defines a new table using the definition/metadata of an existing table or view.
Syntax
CREATE TABLE [IF NOT EXISTS] table_identifier LIKE source_table_identifier
    USING data_source
    [ ROW FORMAT row_format ]
    [ STORED AS file_format ]
    [ TBLPROPERTIES ( key1=val1, key2=val2, ... ) ]
    [ LOCATION path ]
Parameters
- 
    table_identifier Specifies a table name, which may be optionally qualified with a database name. Syntax: [ database_name. ] table_name
- 
    USING data_source Data Source is the input format used to create the table. Data source can be CSV, TXT, ORC, JDBC, PARQUET, etc. 
- 
    ROW FORMAT SERDE is used to specify a custom SerDe or the DELIMITED clause in order to use the native SerDe. 
- 
    STORED AS File format for table storage, could be TEXTFILE, ORC, PARQUET, etc. 
- 
    TBLPROPERTIES Table properties that have to be set are specified, such as created.by.user,owner, etc.
- 
    LOCATION Path to the directory where table data is stored, which could be a path on distributed storage like HDFS, etc. Location to create an external table. 
Examples
-- Create table using an existing table
CREATE TABLE Student_Dupli like Student;
-- Create table like using a data source
CREATE TABLE Student_Dupli like Student USING CSV;
-- Table is created as external table at the location specified
CREATE TABLE Student_Dupli like Student location  '/root1/home';
-- Create table like using a rowformat
CREATE TABLE Student_Dupli like Student
    ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
    STORED AS TEXTFILE
    TBLPROPERTIES ('owner'='xxxx');