Hive的表操作

本文详细介绍了Hive中的表操作,包括内部表、外部表、临时表的创建与数据加载,强调了它们的区别。此外,还讨论了分区表的使用,包括静态和动态分区,以及分桶表的概念和优势。内容涵盖了Hive的基本数据类型以及各种表操作的实际应用场景。
摘要由CSDN通过智能技术生成

Hive中表的类型

1、内部表(受控表):当删除内部表的时候,HDFS上的数据以及元数据都会被删除
2、外部表:当删除外部表的时候,HDFS上的数据不会被删除但是元数据会被删除
3、临时表(测试环境)临时表的声明周期是一次会话
4、分区表:将一批数据分成多个目录来存储
5、分桶表:对列值取哈希值的方式,将不同数据放到不同文件中存储

Hive的基本数据类型

数据类型 注释
TINYINT -128 to 127
SMALLINT -32768 to 32767
INT -2,147,483,648 to 2,147,483,647
BIGINGT -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
FLOAT 4-byte
DOUBLE 8-byte
DECIMAL 38位精度
TIMESTAMP yyyy-MM-dd HH:mm:SS
DATE 日期:年月日

一、内部表操作

1、创建表

创建表方式一:

CREATE TABLE tableOne(
  id INT,
  name STRING,
  age INT,
  gfs ARRAY<STRING>,
  address MAP<STRING,STRING>,
  info STRUCT<country:String,province:String,city:String>
)
ROW FORMAT DELIMITED
#字段之间的分隔符 “ ”
FIELDS TERMINATED BY ' '
#集合元素之间的分割符“,” 
COLLECTION ITEMS TERMINATED BY ','
#map中 KV分隔符“:”
MAP KEYS TERMINATED BY ':'
#行与行之间的分隔符“\n” 
LINES TERMINATED BY '\n'
#设置元数据的位置--若不设置默认就在Hive的工作目录区
LOCATION "/hive" 
#跳过第一行
TBLPROPERTIES("SKIP.HEADER.line.COUNT"="1");
#加载本地数据
load data local inpath '/root/gfs.txt' into table tableOne;

创建表方式二
create table tableTwo like tableOne;只是创建表结构

创建表方式三
create table tableTwo AS SELECT id,name,gfs,address from tableOne; 会创建相应的表结构,并且插入数据

2 插入数据

1、inse

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值