1)hive中内部表和外部表的区别
内部表:又叫管理表,表的创建,和删除都由hive自己决定。
外部表:表结构上同内部表,但是存储的数据时自己定义的,外部表在删除的时候只删除元数据,原始数据时不能删除的。
内部表和外部表的区别主要体现在两个方面:
删除:删除内部表,删除元数据和数据删除外部表,删除元数据,保留数据。
使用:如果数据的所有处理都在 Hive 中进行,那么倾向于 选择内部表,但是如果 Hive 和其他工具要针对相同的数据集进行处理,外部表更合适。使用外部表访问存储在hdfs上的数据,然后通过hive转化数据并存储到内部表中。
2)hive中分桶表和分区表的区别
分区表: 原来的一个大表存储的时候分成不同的数据目录进行存储。
如果说是单分区表,那么在表的目录下就只有一级子目录,如果说是多分区表,那么在表的目录下有多少分区就有多少级子目录。不管是单分区表,还是多分区表,在表的目录下,和非最终分区目录下是不能之间存储数据文件的。