0
我有一个map reduce作业,它已经使用hive分区命名约定将记录写出到hdfs。Hive外部表无法读取已分区的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')
,它不会看到分区或记录,因为
SELECT * FROM TEST_1极限1产生0的结果。
如果我使用空位置,当我创建外部表,然后用 负载数据INPATH ... 然后它工作。但问题在于负载数据inpath的分区太多而无法正常工作。
有没有办法让配置单元自动识别分区(没有做插入查询)?
天才!!谢谢,有这个确切的问题。对于未来的人来说,OP在这个问题上所做的手动修改命令是没有必要的。只需按照惯例设置目录,创建表格并运行此修复命令。 – Milimetric