美文网首页
Hive创建表的三种方式,如何选择创建内部或者外部表?

Hive创建表的三种方式,如何选择创建内部或者外部表?

作者: 咖啡大象不含咖啡 | 来源:发表于2017-12-18 11:30 被阅读29次

使用HQL创建内部表、外部表的基本操作。创建表主要有以下三种方式:

  • 自定义表结构,以关键字EXTERNAL区分创建内部表和外部表。
    如何确定是创建内部表还是外部表

内部表,如果对数据的处理都由Hive完成,则应该使用内部表。在删除内部表时,元数据和数据一起被删除。

外部表,如果数据要被多种工具(如Pig等)共同处理,则应该使用外部表,可避免对该数据的误操作。删除外部表时,只删除掉元数据。

  • 根据已有表创建新表,使用CREATE LIKE句式,完全复制原有的表结构,包括表的存储格式。

  • 根据查询结果创建新表,使用CREATE AS SELECT句式。

这种方式比较灵活,可以在复制原表表结构的同时指定要复制哪些字段,不包括表的存储格式。

在启用了安全服务的集群中执行如下操作,需要在数据库中CREATE权限,使用CREATE AS SELECT句式创建表,需要对SELECT查询的表具有SELECT权限。详情请参见概述。

相关文章

网友评论

      本文标题:Hive创建表的三种方式,如何选择创建内部或者外部表?

      本文链接:https://www.haomeiwen.com/subject/skwpwxtx.html