[英]Hive: Create External Table Partitioned with directory after partition (declared in Location)
我有这个数据被转储的目录:
"/externallocation/data/20191123/foo_table/part-00000.orc"
我需要创建一个外部表,指向上面提到的那个目录。
下面的语句创建了表,但查询没有按预期工作(没有返回记录):
> CREATE EXTERNAL TABLE IF NOT EXISTS foo_table (a_column string, b_column boolean)
PARTITIONED BY (year_month_day_key string)
STORED AS ORC LOCATION '/externallocation/data';
> SELECT * FROM foo_table WHERE year_month_day_key = '20191123';
可有人现在有什么问题。 提前致谢。
这是完整的解决方案 -
HDFS目录下已经存在文件“/user/hive/warehouse/schema.db/foo_table/year_month_day_key=20191123/000000_0”
现在创建表CREATE EXTERNAL TABLE IF NOT EXISTS schema.foo_table (a_column string, b_column int) PARTITIONED BY (year_month_day_key string) STORED AS ORC LOCATION 'hdfs://nameservice1/user/hive/warehouse/schema.db/foo_table';
创建表后需要通过以下 Alter 命令添加分区 ALTER TABLE schema.foo_table ADD PARTITION (year_month_day_key = '20191123');
select * from schema.foo_table where year_month_day_key = '20191123';
select * from schema.foo_table;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.