I have installed Hadoop, Hive, Hive JDBC. which are running fine for me. But I still have a problem. How to delete or update a single record using Hive because delete or upd
Yes, rightly said. Hive does not support UPDATE option. But the following alternative could be used to achieve the result:
Update records in a partitioned Hive table
:
Join the two tables (main & staging tables) using a LEFT OUTER JOIN
operation as below:
insert overwrite table main_table partition (c,d)
select t2.a, t2.b, t2.c,t2.d from staging_table t2 left outer join main_table t1 on t1.a=t2.a;
In the above example, the main_table
& the staging_table
are partitioned using the (c,d)
keys. The tables are joined via a LEFT OUTER JOIN
and the result is used to OVERWRITE
the partitions in the main_table
.
A similar approach could be used in the case of un-partitioned Hive table
UPDATE
operations too.