hive内部表和外部表的区别

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/GUANYAQI1996/article/details/78715068

内部表

   1:内部表也称为MANAGED_TABLE

   2:内部表默认存储在/user/hive/warehouse下面

   3:(1)从hdfs往内部表加载数据:load data inpath '/student.txt' into table student

        会将hdfs上面的数据剪切/user/hive/warehouse/student下面,同时删除hdfs上面的student.txt文件

        (2)从本地(虚拟机)往内部表加载数据:load datalocal  inpath '/student.txt' into table student

   4:删除外部表时,会删除表数据以及元数据

外部表

   1:外部表也称为EXTERNAL_TABLE

   2:创建外部表语句: createexternal student(     ).......

   3:创建外部表时可以指定需要加载的数据位置:location '/student.txt'

         就相当于我们通过信封上的地址找到你的家所在的位置。

   4:因为外部表加载数据时只是指向了数据的位置,所以删除外部表时只会删除表的元数据不会删除表数据。

猜你喜欢

转载自blog.csdn.net/GUANYAQI1996/article/details/78715068