ADD PARTITION。否则是根本访问不到数据的。
记录:
hive> desc shaka_test_external;
OK
id bigint
gender string(分区字段)
基于上表的数据创建外部表:
hive> select * from shaka_test_external;
OK
0 0
1 1
2 1
如果此时直接访问数据,那么是没有记录的:
create external table ext_shaka_test_external
like shaka_test_external
location 'hdfs://hdpnn:9000/group/hive/shaka_test_external';
hive> show partitions ext_shaka_test_external;
OK
Time taken: 0.098 seconds
hive> select * from ext_shaka_test_external;
OK
Time taken: 0.229 seconds
陷阱来了,添加分区后就能访问了:
hive> alter table ext_shaka_test_external add partition (gender='0');
OKTime taken: 0.18 seconds
hive> alter table ext_shaka_test_external add partition (gender='1');
OK
Time taken: 1.305 seconds
hive> select * from ext_shaka_test_external;
OK
0 0
1 1
2 1
Time taken: 0.251 seconds
hive> select * from ext_shaka_test_external where gender = '0';
OK
0 0
Time taken: 0.175 seconds
5473



被折叠的 条评论
为什么被折叠?



