我有一个map reduce作业,它已经使用配置单元分区命名约定将记录写入hdfs。
如
/user/test/generated/code=1/channel=A
/user/test/generated/code=1/channel=B
创建外部表后,它看不到分区。
create external table test_1 ( id string, name string ) partitioned by
(code string, channel string) STORED AS PARQUET LOCATION
'/user/test/generated'
即使使用alter命令
alter table test\ 1 add partition(代码='1',通道='a')
,它看不到分区或记录,因为
从测试1中选择*限制1产生0结果。
如果在创建外部表时使用空位置,然后在路径中使用加载数据。。。那就行了。但问题是有太多分区,加载数据inpath无法工作。
有没有办法让配置单元自动识别分区(不做插入查询)?
1条答案
按热度按时间jv4diomz1#
使用msck,它似乎可以工作。但我必须退出Hive会话,重新连接。