您的位置:首页 > 大数据 > Hadoop

Hive建Hdfs外部分区表

2017-04-12 16:40 246 查看
1、目录及数据准备
hadoop dfs -rmr /tmp/oss_access_test/2017-04-01
hadoop 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 delimited
fields 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的时候,只是删除表结构,而不会删除对应的数据。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: