非分区配置单元表上的alter table concatenate命令删除-ext-10000文件夹中的数据并将其移至回收站

时间:2019-04-30 09:57:05

标签: hive hdfs presto

配置单元表demo_hive_tbl。
底层文件系统是HDFS。
使用Presto驱动程序在此表中插入数据时
插入demo_hive_tbl值(1); 插入demo_hive_tbl values(2);

正在HDFS上的table文件夹内创建文件。示例demo_hive_tbl / part_01 demo_hive_tbl / part_02

并置命令(更改表demo_hive_tbl并置)将数据文件放在ext文件夹中。

示例 demo_hive_tbl / ext-1000 / 0001_1

现在再次在此表上进行新插入时,新文件将进入常规表文件夹中
插入demo_hive_tbl values(3);

所以现在Folder结构看起来像

demo_hive_tbl / ext-1000 / 0001_1 //级联
demo_hive_tbl / part_02 //新插入

在执行了新的串联命令(alter table demo_hive_tbl串联)之后,串联的数据进入ext文件夹,但是ext文件夹中的原始数据被忽略,只有新的数据被串联。原始ext文件夹的条目进入Hive的回收站文件夹。

demo_hive_tbl / ext-1000 / 0001_2

这意味着,如果触发了来自demo_hive_tbl的Select *,则仅返回值3(预期结果为1,2和3)。

关于为什么ext-文件夹中已经存在的文件串联会被忽略的任何指针。

0 个答案:

没有答案