美文网首页
Hive的表操作

Hive的表操作

作者: 编程回忆录 | 来源:发表于2017-07-10 22:56 被阅读0次

1.创建表:

create table if not exists mydb.exployees(
  name                  string comment 'Employee name',
  salary                float comment 'Employee salary',
  subordinates          array<string> comment 'Names of subordinates',
  deductions            map<string,float> comment 'Keys are deductions names,values are percentages',
  address               struct<street:string,city:string,state:string,zip:int> comment 'Home address'
);

mydb是表所属的数据库名称

2.列举指定数据库下的表:

hive > use default;
hive > show tables;

3.使用正则表达式过滤数据库的表名:

hive > use mydb;
hive > show tables 'empl.*';

4.查看表结构的详细信息:

hive > describe extended mydb.exployees;

5.表的分类:
Hive表分为管理表和外部表。

  • 管理表:
    Hive默认创建的表都是管理表。
    管理表的数据存储在由配置项hive.metastore.warehouse.dir所定义的目录的子目录下。当我们删除删除一个管理表时,Hive也会删除这个表中数据。
    但是,管理表不方便和其他工作表共享数据。
  • 外部表:
    外部能够灵活的创建一张表并指向一个目录作为自己的数据源,例如我们创建一个外部表,让其可以读取位于/data/stocks目录下的以逗号分隔的数据:
create external table if not exists stocks (
    exchange string,
    symbol string,
    ymd string,
    price_open float,
    price_high float,
    price_low float,
    price_close float,
    volume int,
    price_adj_close float
  )
row format delimited fields terminated by ','
location '/data/blocks/';

关键字external告诉Hive这个表是外部的,而后面的location关键字则用于告诉Hive数据位于哪个路径下。
因为表是外部的,所以Hive并非认为其完全拥有这份数据。因此,删除该表并不会删除掉这份数据,不过描述表的元数据会被删除掉。

6.如何查看表是管理表还是外部表:
可以使用describe extended tablename语句的输出中查看到表是否是管理表或外部表。在末尾的详细表信息输出中,对于管理表,用户可以看到如下信息:
... tableType:MANAGED_TABLE)
对于外部表,用户可以看到如下信息;
... tableType:EXTERNAL_TABLE)
对于外部表,用户还可以对一张存在的表进行表结构复制(而不会复制数据):
create external table if not exists mydb.employees2
like mydb.employees
location '/path/to/data';

相关文章

  • hive基础语法

    目录 Hive安装和启动 Hive表操作-分区表 Hive表操作-复杂类型操作 Hive 查询语句 Zepplin...

  • hive进阶学习

    创建hive表常用语句: 修改hive表名称: 内部表 vs 外部表: 创建分区表以及补充操作: hive中查询介...

  • Hive之同比环比的计算

    Hive系列文章 Hive表的基本操作[http://www.ikeguang.com/?p=1657] Hive...

  • Hive sql常见操作

    基本sql操作 hive表操作 分区操作 Hive内置函数 (1)数学函数 常用的数学函数都有:round、flo...

  • HIVE

    基本操作 hive进入hive模式 exit; 退出hive模式 展示正则匹配表名hive> use ad_s...

  • Hive数据库连接操作雷区

    基础操作测试 首先准备两张表收入表 hive_join_gaap_test 和 信息表 hive_join_pl_...

  • Hive操作命令及Hbase Shell命令

    Hive操作命令:'''创建表:hive> CREATE TABLE pokes (foo INT, bar ST...

  • Hive DDL

    Hive 库操作 创建数据库 删除数据库 修改数据库信息 数据库信息 Hive 表操作 内部表又称管理表。 Hiv...

  • Impala更新元数据:invalidate metadata和

    摘要:Impala,Hive invalidate metadata 对于通过Hive创建,删除或者修改表等操作,...

  • Hive基本操作

    参考:hive 表的常用操作Hive基本操作 1 Thrift Server Thrift 支持多种语言之间的RP...

网友评论

      本文标题:Hive的表操作

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