Archives of Support Questions (Read Only)

This is an archived board for historical reference. Information and links may no longer be available or relevant
Announcements
This board is archived and read-only for historical reference. To ask a new question, please post a new topic on the appropriate active board.

Hive: Merge/union two tables with different definition.

avatar

Hi,

I've two tables in Hive which I want to merge/ union.

  • Table A has an additional column p.
  • Table B doesn't have the column p.

How can i merge both tables?

1 ACCEPTED SOLUTION

avatar
Master Guru
@Kashif Amir

Cast the column p as null (or) some value and data types of the column p needs to match on both tables.

Example:-

hive# select cast("ta" as string)p
union
select cast("tb" as string)p;
+--------+--+
| p      |
+--------+--+
| ta     |
| tb     |
+--------+--+

In the example i'm having 2 tables having same column name(p) and datatype(String) after doing union we are getting merged results.

(or)

select "i" op
union
select "ji" p;
+---------+--+
| op      |
+---------+--+
| i       |
| ji      |
+---------+--+



View solution in original post

2 REPLIES 2

avatar
Master Guru
@Kashif Amir

Cast the column p as null (or) some value and data types of the column p needs to match on both tables.

Example:-

hive# select cast("ta" as string)p
union
select cast("tb" as string)p;
+--------+--+
| p      |
+--------+--+
| ta     |
| tb     |
+--------+--+

In the example i'm having 2 tables having same column name(p) and datatype(String) after doing union we are getting merged results.

(or)

select "i" op
union
select "ji" p;
+---------+--+
| op      |
+---------+--+
| i       |
| ji      |
+---------+--+



avatar

Thank you, @Shu !