Hive allows you to write data to multiple tables or directories at a time. This is an optimized solution as a source table needs to be read only once, which helps reduce the time. In this recipe, we are going to take a look at how write data to multiple tables/directories in a single query.
To perform this recipe, you should have a running Hadoop cluster as well as the latest version of Hive installed on it. Here, I am using Hive 1.2.1.
Let's say we have an employee table with columns such as ID, name, and salary:
Table – employee
1,A,1000 2,B,2000 3,C,3000 4,D,2000 5,E,1000 6,F,3000 7,G,1000 8,H,3000 9,I,1000 10,J,2000 11,K,1000 12,L,1000 13,M,1000 14,N,3000 15,O,3000 16,P,1000 17,Q,1000 18,R,1000 19,S,2000 20,T,3000
Let's create the table and load the data into it:
CREATE TABLE employee ( id INT, name STRING, salary BIGINT ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFILE; LOAD DATA LOCAL INPATH 'emp.txt' INTO TABLE...