Hive Insert Overwrite Table

Anna Mai picture Anna Mai · Oct 2, 2014 · Viewed 100.8k times · Source

I'm new to Hive and I wanted to know if insert overwrite will overwrite an existing table I have created. I want to filter an already created table, let's call it TableA, to only select the rows where age is greater than 18. Can I achieve this using insert overwrite table?

I'm thinking of writing something like:

INSERT OVERWRITE TABLE TableA SELECT a.Age FROM TableA WHERE a.Age > = 18

there are NA entries in the table I created, but I assume that after I filter this table there will be no NAs in the Age column, right?

Answer

K S Nidhin picture K S Nidhin · Oct 3, 2014

Self filtering and insertion is not support , yet in hive.

I would suggest the following steps in your case :

1.Create a similar table , say tabB , with same structure.

create table tabB like tableA;

2.Then you could apply your filter and insert into this new table.

INSERT OVERWRITE TABLE tabB SELECT a.Age FROM TableA WHERE a.Age > = 18

Hope this helps.