配置单元表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-文件夹中已经存在的文件串联会被忽略的任何指针。