我想创建一个已经存储在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'
;
答案 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';