Anna Mai Anna Mai - 6 months ago 53
SQL Question

Hive Insert Overwrite Table

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

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.