0
点赞
收藏
分享

微信扫一扫

hive数据仓库基础语法实战操作


文章目录

  • 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.txt

1	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


举报

相关推荐

0 条评论