Hive 的管理表和外部表

一、创建表

hive 中可以按照如下方式创建hive 表.

create table if not exists ts.t1 (
   name string comment '学生姓名',
   score float comment '学生分数',
   address  struct<street:string ,city:string,state:string,zip:int> comment 'home address')
 comment '学生表'
 location  '/user/hive/my/t1'
 tblproperties('creator'='me','created_at'='2018-08-30 10:10:00');

在hdfs 存放目录如下:

hive中表分为管理表和外部表, 对于管理表,当hive 删除表时,也会删除表中存放的数据.

可以使用 describe extended t1  查看表是管理表还是外部表.

外部表:

下面的语句将创建一个外部表,并且读取所有hdfs上位于 /user/data 目录下以逗号分隔的文件.

create external table if not exists stu(
  id int ,
  name string,
  age  int )
  row format delimited fields terminated by ','
  location '/user/data';

其中student.txt 文件内容如下:

hive> dfs -cat /user/data/* ;
1,tom,12
2,hameimei,13
3,lilei,14
4,mayun,25

对于管理表,用户还可以对yi一张存在的表进行表结构复制(而不会复制数据):

create external table if not exists t2  
like  stu
location '/user/data';

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值