How can I load same file into hive table using beeline

613 Views Asked by At

I needed to create huge test data in hive table. I tried following commands but it only inserts one partition data at a time.

connect to beeline:

beeline --force=true -u 'jdbc:hive2://<host>:<port>/<hive database name>;ssl=true;user=<username>;password=<pw>'

create partitioned table :

CREATE TABLE p101(
Name string,
Age string)
PARTITIONED BY(fi string)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ',';

I have created ins.csv file with data and copy it to hdfs location, its data is as follows.

Name,Age
aaa,33
bbb,22
ccc,55

then I tried to load same file for multiple partition ids with following command


LOAD DATA INPATH 'hdfs_path/ins.csv' INTO TABLE p101 PARTITION(fi=1,fi=2,fi=3,fi=4,fi=5); 

but it loads record only for partitionID=5.

1

There are 1 best solutions below

7
On

You can only specify one partition for each insert into.

What you can do in order to have different partitions is add it into your csv file like this:

Name,Age,fi
aaa,33,1
bbb,22,2
ccc,55,3

Hive will automatically know that this is the partition.

LOAD DATA INPATH 'hdfs_path/ins.csv' INTO TABLE tmp.p101;