Create hive table using "as select" or "like" and also specify delimiter

StephenBoesch picture StephenBoesch · Mar 7, 2014 · Viewed 123.7k times · Source

Is it possible to do a

create table <mytable> as select <query statement>

using

row format delimited fields terminated by '|';

or to do a

create table <mytable> like <other_table> row format delimited fields terminated by '|';

The Language Manual seems to indicate not.. but something tickles me I had achieved this in the past.

Answer

Venkatesh picture Venkatesh · Mar 7, 2014

Create Table as select (CTAS) is possible in Hive.

You can try out below command:

CREATE TABLE new_test 
    row format delimited 
    fields terminated by '|' 
    STORED AS RCFile 
AS select * from source where col=1
  1. Target cannot be partitioned table.
  2. Target cannot be external table.
  3. It copies the structure as well as the data

Create table like is also possible in Hive.

  1. It just copies the source table definition.