Hive建Hdfs外部分区表

来源:互联网 发布:淘宝新人一分钱 编辑:程序博客网 时间:2024/05/16 13:58
1、目录及数据准备
hadoop dfs -rmr /tmp/oss_access_test/2017-04-01hadoop dfs -mkdir -p /tmp/oss_access_test/2017-04-01/hadoop dfs -cp /tmp/oss_access/2017-04-01/sz-98-72_localhost_access_log.2017-04-01.*.txt /tmp/oss_access_test/2017-04-01/sz-98-72_localhost_access_log.2017-04-01.*.txt或:hadoop dfs -cp -p /tmp/oss_access/2017-04-01/ /tmp/oss_access_test/hadoop dfs -ls /tmp/oss_access_test/2017-04-01/--删除数据不进回收站hadoop dfs -rmr -skipTrash /tmp/oss_access_test/2017-04-01/*

2、创建外部表
drop table if exists xx_ext_oss_access;create external table xx_ext_oss_access(log_text string)partitioned by(pt_day string)row format delimitedfields terminated by ','location '/tmp/oss_access_test/';

3、添加分区
alter table xx_ext_oss_access add partition(pt_day='2017-04-01') location '2017-04-01';

4、查询测试
select * from xx_ext_oss_access limit 100;

5、注意说明
建表时的location后面路径带上"/",而分区上的location路径直接带分区相对路径名“'2017-04-01'”就可以了。
分区表里面的所有数据文件不能再有文件夹,否则会较验报错。
另外,外部表进行drop table的时候,只是删除表结构,而不会删除对应的数据。
0 0