如何在hive外表上进行分区使用存在的HDFS文件

时间:2017-08-03 08:11:31

标签: hive hdfs

我想创建一个已经存储在HDFS中的外部表使用文件 HDFS://我/ HDFS /位置

/user/db/testfiles/test1.txt
/user/db/testfiles/test2.txt
/user/db/testfiles/test3.txt
/user/db/testfiles/test4.txt

由于我不想将这些文件移动到hive文件夹,如何对当前文件夹进行分区使用这些文件?

CREATE EXTERNAL TABLE IF NOT EXISTS tbl_name (  col1 STRING,
col2 STRING,
col3 STRING
)
partitioned by (col4 STRING)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
LOCATION '/user/db/testfiles'
;

1 个答案:

答案 0 :(得分:0)

您需要逐个添加分区。

ALTER TABLE tbl_name ADD PARTITION(col4='1') LOCATION '/user/db/testfiles/test1.txt';
ALTER TABLE tbl_name ADD PARTITION(col4='2') LOCATION '/user/db/testfiles/test2.txt';
ALTER TABLE tbl_name ADD PARTITION(col4='3') LOCATION '/user/db/testfiles/test3.txt';
ALTER TABLE tbl_name ADD PARTITION(col4='4') LOCATION '/user/db/testfiles/test4.txt';