是的。分区数据将消失。
metastore仍将保存分区信息(元数据),您可以使用显示分区mytable
查看它。
可以使用MSCK修复mytable
找到需要删除的分区。
可以使用ALTER table mytable drop partition(...)
删除分区
我有一个外部配置单元表,其中有诸如year=2017,year=2018之类的分区,在它们内部,我还有year=2017和year=2018的每个月的分区。 如果是内部表,会发生什么情况?
我试过这个 如果存在分区(process_date='__hive_default_partition__'),则更改表Table_Name DROP; 我正在犯错误
我有一个配置单元表,其中一个date列上存在分区,但date列以YYYYMMDD格式存储为INT。该表还可以包含未来日期分区的数据。 现在,作为过程的一部分,我希望删除那些在处理日(位于处理日)上运行的分区。 当我编写drop分区时,比如,那么它工作正常。 考虑到我的输入将是唯一的日期格式YYYY-MM-DD和我已经删除所有分区已给出输入日期-1;如何使上述陈述奏效?
我有一个配置单元外部表,有3个分区列(a,B,C),现在我想从分区中删除B和C列。这样做可能吗?我已经尝试使用Alter table tab_name drop column col_name;---但它会抛出一个错误,说明无法删除分区列。
我有一个map reduce作业,它已经使用配置单元分区命名约定将记录写入hdfs。 如 有没有一种方法可以让hive自动识别分区(不需要执行插入查询)?
当使用外部配置单元表时,是否有一种方法可以删除目录中的数据,但通过查询保留分区。请注意,我不想删除表并重新创建它。我只想清空底层文件夹并重新启动一个进程。我的表很大,按年、月、日期和小时划分分区,手动重新创建分区需要大量时间。 谢谢