hive中的内部表和外部表的区别和使用场景

1>区别

  a:默认的情况下 ,用户所创建的表示内部表也叫管理表,该表或多或少的会管理表中的数据,所以在创建内部表时,在时候location指定数据路径时候,会将该路径下的数据移动到该表所在的目录下,于此同时在删除内部表的数据,会删除数据同时也会删除该表所在的元数据,该管理表不适用于其他工具共享数据

   b:外部表在创建表时候需要添加一个关键子,external,该表不完全管理该表,所以在删除该表,只会删除该表的元数据,不会删除数据,,适合与其他工具共享数据

2>使用场景:

     每天收集到的网站数据,需要做大量的统计数据分析,所以在数据源上可以使用外部表进行存储,方便数据的共享,在做统计分析时候用到的中间表,结果表可以使用内部表,因为这些数据不需要共享,使用内部表更为合适。

猜你喜欢

转载自blog.csdn.net/w5201314ws6123/article/details/87519764