How can I load same file into hive table using beeline

643 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
Clover 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;