如何在配置单元外部表上使用exist hdfs文件进行分区

bihw5rsg  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(301)

我想创建一个外部表来使用已经存储在hdfs中的文件hdfs://my/hdfs/location

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

既然我不想把这些文件移到配置单元文件夹中,我怎么才能在当前文件夹上分区并使用这些文件呢?

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'
;
ha5z0ras

ha5z0ras1#

您需要逐个添加分区。

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';

相关问题