文章目录
- 1 Hive数据类型
- 1.1 基础数据类型
- 1.1 复杂数据类型
- 1 表操作
- 2 查询
- 2 数据导入
- 2.1 本地文件系统导入
- 2.2 从hdfs中导入数据到hive
1 Hive数据类型
1.1 基础数据类型
| 类型 | Java数据类型 | 描述 | 
| tinyint | byte | 8位有符号整型,-128~127 | 
| smallint | short | 16位有符号整型,-32768~32767 | 
| int | int | 32位有符号整型,-231 ~ 231 -1 | 
| bigint | long | 64位有符号整型, -263+1 ~ 2 63 -1 | 
| binary | 二进制数据类型,目前限制位8MB | |
| float | float | 32位二进制浮点型 | 
| double | double | 64位二进制浮点型 | 
| decimal(percision,scale) | 10进制精确数字类型。percision:表示最多可以表示多少位数字,1<=percision<=38。scale:表示小数部分的位数,0<=scale<=38,如果不指定两个参数,则默认位decimal(10,0) | |
| varchar(n) | 变长字符类型,n为长度,1~65535 | |
| char(n) | 固定长度字符类型,n为长度,最大为255.长度不足则会填充空格,但空格不参与比较 | |
| string | string | 字符串类型,目前长度为8MB | 
| date | 日期类型,格式为 yyyy-mm-dd 00:00:00.000~9999-12-31 23:59:59.999,精确到秒 | |
| timestamp | ||
| boolean | boolean | boolean类型,取值True、False | 
1.1 复杂数据类型
| 类型 | 定义方法 | 构造方法 | 
| array | ||
| map | ||
| struct | ||
| https://www.douyin.com/user/MS4wLjABAAAAC5NbA1JCeuUfq9xXyi9UkRPlxTXxli4XWux9vqF46D4zcl0vlbs_8dmajmgLwAuJ?is_full_screen=0&modal_id=7037696402289380645&vid=7037406499148238091 | 
1 表操作
创建表
create table my_user(id int,name string,phone string) row format delimited fields terminated by '\t';表重命名
alter table my_user rename to my_users;正则匹配查找表
show tables '*user*';查看表结构
desc my_user;增加表字段
# 添加email
alter table my_user add columns (email string);删除表
drop table my_users;2 查询
2 数据导入
2.1 本地文件系统导入
首先,我们在本地文件系统创建测试内容
vim /home/charles/user.txt1	charles	101
2	tom	102
3	jack	103然后在hive终端执行
load data local inpath '/home/charles/user.txt' overwrite into table my_user;查看导入的数据
hdfs dfs -cat /user/hive/warehouse/my_user/user.txt;2.2 从hdfs中导入数据到hive
创建表
create table my_user_hdfs(id int,name string,phone string) row format delimited fields terminated by '\t';导入数据
load data inpath '/user/hive/warehouse/my_user/user.txt' overwrite into table my_user_hdfs;查看数据
hdfs dfs -cat /user/hive/warehouse/my_user_hdfs/user.txt参考地址:
 https://www.helloworld.net/p/1015206641
                









