我有一个配置单元表,其中包含3个部分分区
(dt,service_type,pv)
我想在另一个数据库中创建一个新表,并使用来自该原始表的过滤数据。 (按用于分区的列过滤)
因此,我使用SELECT如下查询数据并将结果保存在HFDS中
INSERT OVERWRITE DIRECTORY '/user/atscale/filterd-ratlog' SELECT * FROM rat_log_normalized WHERE dt >= '2016-05-01' AND dt <='2016-05-31' AND service_type='xxxxx_jp' AND event_type='yy';
这是HDFS中的结果文件夹结构,分为531个文件:
现在,我可以将HDFS文件中的数据加载到新表中吗?我也想保留分区。
最佳答案
我想您正在寻找外部表:
DROP TABLE IF EXISTS filterd-ratlog;
create external table filterd-ratlog(
col1 int,
col2 int,
col3 int,
dt string,
service_type string,
event_type string)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'
location '/user/atscale/filterd-ratlog';
关于hadoop - hive :将查询结果保存在HDFS中并加载到新表中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39011684/