我的选择查询在分区的外部表上没有获取任何行。
我在/user/abcdef/audit_table/位置创建了一个外部分区表audit_test,我正在通过基于日期创建分区目录来加载.csv文件。
CREATE EXTERNAL TABLE audit_test
(perm_bitmap_txt STRING,
blank_txt STRING,
ownr_id STRING,
ad_grp_txt STRING,
size_bytes_tot INT,
last_mod_dt STRING,
last_mod_tm STRING,
hdfs_phy_loc_txt STRING,
reg_hdfs_loc_txt STRING,
reg_hdfs_grp_txt STRING,
reg_hdfs_comp_txt string)
PARTITIONED BY (data_ext_DT STRING)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE
LOCATION 'user/abcdef/audit_table/';
现在,我的输出位置将是/user/abcdef/audit_table/data_ext_dt=20150203_audit.csv
当我运行一个简单的选择查询时,我得到的是零行
select * from audit_test where data_ext_dt = '20150203'
我必须使用alter命令手动创建分区:
alter table data_sec_audit_rpt_test add partition(data_ext_dt=20150203);
它奏效了。