Hive 仅从HDFS目录加载少量文件
我想将一些文件从HDFS目录加载到表中 HDFS目录中的文件如下所示Hive 仅从HDFS目录加载少量文件,hive,Hive,我想将一些文件从HDFS目录加载到表中 HDFS目录中的文件如下所示 /data/log/user1log.csv /data/log/user2log.csv /data/log/user3log.csv /data/log/user4log.csv /data/log/user5log.csv 现在我想加载/data/log/user1log.csv和/data/log/user2log.csv文件 我试过下面的方法 CREATE EXTERNAL TABLE log_data (user
/data/log/user1log.csv
/data/log/user2log.csv
/data/log/user3log.csv
/data/log/user4log.csv
/data/log/user5log.csv
现在我想加载/data/log/user1log.csv和/data/log/user2log.csv文件
我试过下面的方法
CREATE EXTERNAL TABLE log_data (username string,log_dt string)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
tblproperties ("skip.header.line.count"="1");
load data inpath '/data/log/user1log.csv' into table log_data;
load data inpath '/data/log/user2log.csv' into table log_data;
但在将数据加载到表中之后,文件将从HDFS位置消失。
但是我们应该保存在HDFS位置的文件
请帮帮我
提前感谢。我认为这是不可能的,当您在路径中加载
时,它会移动数据而不是复制数据
但是,您有一个外部表,因此即使不使用load inpath
这是你可以做到的
指定配置单元表的位置
CREATE EXTERNAL TABLE log_data (username string,log_dt string)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
tblproperties ("skip.header.line.count"="1");
location '/data/log_data/table'
将文件复制到位置
hdfs dfs -cp /data/log/user1log.csv /data/log_data/table/
hdfs dfs -cp /data/log/user2log.csv /data/log_data/table/
我认为这是不可能的,当你加载inpath时,它会移动数据而不是复制数据
但是,您有一个外部表,因此即使不使用load inpath
这是你可以做到的
指定配置单元表的位置
CREATE EXTERNAL TABLE log_data (username string,log_dt string)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
tblproperties ("skip.header.line.count"="1");
location '/data/log_data/table'
将文件复制到位置
hdfs dfs -cp /data/log/user1log.csv /data/log_data/table/
hdfs dfs -cp /data/log/user2log.csv /data/log_data/table/