Hive的数据类型、内部表和外部表

本文介绍了Hive的复杂数据类型,包括map、array和struct,阐述了如何利用它们进行数据查询。此外,还详细讨论了内部表和外部表的区别,强调在生产环境中使用外部表的重要性,以防止数据丢失并方便数据恢复。
摘要由CSDN通过智能技术生成

3. Hive的数据类型

Hive内置数据类型主要分为两类:基础数据类型和复杂数据类型。

基础数据类型无外乎就是tinyint、smallint、int、bigint、boolean、float、double、string、timestamp、decimal等。

笔者这里主要介绍Hive的复杂数据类型,或者称之为集合类型。

Hive的复杂数据类型主要分三种:map、array、struct,并且支持复杂类型嵌套,利用好这些数据类型,将有效提高数据查询效率。目前为止对于关系型数据库不支持这些复杂类型。

  1. 首先创建一张表
create table t_complex(id int,
           hobby1 map<string,string>,
           hobby2 array<string>,
           address struct<country:string,city:string>)
row format delimited
fields terminated by ','
collection items terminated by '-'
map keys terminated by ':' ;
  1. 准备数据文件
1,唱歌:一般-跳舞:喜欢-游泳:不喜欢,唱歌-跳舞-游泳,USA-New York
2,打游戏:不喜欢-学习:非常喜欢,打游戏-篮球,CHINA-BeiJing
  1. 将数据文件load到创建的表中

load data

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值