Hive 配置单元外部表无法读取已分区的hdfs目录
我有一个MapReduce作业,它已经使用配置单元分区命名约定将记录写入hdfs 乙二醇 创建外部表后,它看不到分区Hive 配置单元外部表无法读取已分区的hdfs目录,hive,partition,Hive,Partition,我有一个MapReduce作业,它已经使用配置单元分区命名约定将记录写入hdfs 乙二醇 创建外部表后,它看不到分区 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添加分区(代
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添加分区(代码='1',通道='A')
,它看不到分区或记录,
因为
从测试1中选择*限制1产生0结果
如果在创建外部表时使用空位置,然后使用
在路径中加载数据。。。
然后它就起作用了。但问题是路径中的加载数据有太多的分区无法工作
有没有办法让配置单元自动识别分区(无需执行插入查询)?使用msck,它似乎可以工作。但我必须退出配置单元会话,然后再次连接
MSCK REPAIR TABLE test_1
使用msck,它似乎正在工作。但我必须退出配置单元会话,然后再次连接
MSCK REPAIR TABLE test_1
天才谢谢,我有这个问题。对于将来的人来说,OP在问题中所做的手动alter命令是不必要的。只需按照约定设置目录,创建表,然后运行这个修复命令。genius!!谢谢,我有这个问题。对于将来的人来说,OP在问题中所做的手动alter命令是不必要的。只需按约定设置目录,创建表,并运行此修复命令。您是否可以共享将输出作为配置单元分区命名约定写入hdfs的map reduce作业的一些示例代码?让我知道我可以提出一个与此相关的问题。谢谢任何帮助都将不胜感激。:-)您能分享一些map reduce作业的示例代码吗?该作业将输出作为配置单元分区命名约定写入hdfs?让我知道我可以提出一个与此相关的问题。谢谢任何帮助都将不胜感激。:-)