前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hive-常用操作

Hive-常用操作

作者头像
栗筝i
发布2022-12-01 20:30:12
4400
发布2022-12-01 20:30:12
举报
文章被收录于专栏:迁移内容迁移内容

一. 数据库操作

1、创建数据库
代码语言:javascript
复制
//用户可以用 IF NOT EXISTS 选项来忽略这个异常。
 create database [ if not exists ] myhive ;
2、创建数据库并指定hdfs存储位置
代码语言:javascript
复制
create database myhive2 location '/myhive2';
3、修改数据库,可以使用alter database 命令来修改数据库的一些属性。但是数据库的元数据信息是不可更改的,包括数据库的名称以及数据库所在的位置
代码语言:javascript
复制
alter  database  myhive2  set  dbproperties('createtime'='202004090');
4、查看数据库详细信息

①查看数据库基本信息

代码语言:javascript
复制
desc  database  myhive2;

②查看数据库更多详细信息

代码语言:javascript
复制
desc database extended  myhive2;  
5、删除数据库

① 删除一个空数据库,如果数据库下面有数据表,那么就会报错

代码语言:javascript
复制
drop  database  myhive2;

②强制删除数据库,包含数据库下面的表一起删除

代码语言:javascript
复制
drop  database  myhive  cascade; 
//包含数据库下面的表一起删除; 不要执行,危险动作
6、数据库切换
代码语言:javascript
复制
 use myhive(自己的数据库名称);

二、Hive的字段类型

分类

类型

描述

字面量实例

原始类型

BOOLEAN

true/false

TRUE

TINYINT

1字节的有符号整数 -128~127

1Y

SMALLINT

2个字节的有符号整数,-32768~32767

1S

INT

4个字节的带符号整数

1

BIGINT

8字节带符号整数

1L

FLOAT

4字节单精度浮点数1.0

DOUBLE

8字节双精度浮点数

1.0

DEICIMAL

任意精度的带符号小数

1.0

STRING

字符串,变长

“a”,’b’

VARCHAR

变长字符串

“a”,’b’

CHAR

固定长度字符串

“a”,’b’

BINARY

字节数组

无法表示

TIMESTAMP

时间戳,毫秒值精度

122327493795

DATE

日期

‘2020-04-29’

INTERVAL

时间频率间隔

复杂类型

ARRAY

有序的的同类型的集合

array(1,2)

MAP

key-value,key必须为原始类型,value可以任意类型

map(‘a’,1,’b’,2)

STRUCT

字段集合,类型可以不同

struct(‘1’,1,1.0), named_stract(‘col1’,’1’,’col2’,1,’clo3’,1.0)

UNION

在有限取值范围内的一个值

create_union(1,’a’,63)

三、内部表操作

1、创建基本数据表(内部表)

代码语言:javascript
复制
create table tableName(字段名称 字段类型,字段名称 字段类型)
ROW FORMAT DELIMITED IELDS TERMINATED BY char(char分隔符)
指定数据中字段与字段的分隔符 ‘\t’ 或 ‘,’ 或 ‘|’ 或其他
2、创建表并指定字段之间的分隔符
代码语言:javascript
复制
create  table if not exists stu2(id int ,name string) row format delimited fields terminated by '\t' stored as textfile location '/user/stu2';
3、根据查询结果创建表
代码语言:javascript
复制
create table stu3 as select * from stu2;
4、根据已经存在的表结构创建表
代码语言:javascript
复制
create table stu4 like stu2;
1
5、查询表的类型
代码语言:javascript
复制
desc formatted  stu2;

三、外部表操作

1. 外部表说明 外部表因为是指定其他的hdfs路径的数据加载到表当中来,所以hive表会认为自己不完全独占这份数据,所以删除hive表的时候,数据仍然存放在hdfs当中,不会删掉。 2. 管理表和外部表的使用场景 每天将收集到的网站日志定期流入HDFS文本文件。在外部表(原始日志表)的基础上做大量的统计分析,用到的中间表、结果表使用内部表存储,数据通过SELECT+INSERT进入内部表。

1、分别创建老师与学生表外部表,并向表中加载数据

create EXTERNAL table tableName(字段名称 字段类型,字段名称 字段类型) 建外部表需要指定数据的存储路径。通过LOCATION进行指定。

①创建老师表:

代码语言:javascript
复制
create external table techer (t_id string,t_name string) row format delimited fields terminated by '\t';
1

②创建学生表:

代码语言:javascript
复制
create external table student (s_id string,s_name string,s_birth string , s_sex string ) row format delimited fields terminated by '\t';
1
2、 从本地文件系统向表中加载数据
代码语言:javascript
复制
load data local inpath ‘文件路径’ into table 表名;
1
3、加载数据并覆盖已有数据
代码语言:javascript
复制
load data local inpath ‘文件路径’ overwrite into table 表名;
4、 从hdfs文件系统向表中加载数据(需要提前将数据上传到hdfs文件系统,其实就是一个移动文件的操作)
代码语言:javascript
复制
cd /export/servers/hivedatas
hdfs dfs -mkdir -p /hivedatas
hdfs dfs -put techer.csv /hivedatas/
load data inpath '/hivedatas/techer.csv' into table techer;

四、修改表

1. 表重命名
代码语言:javascript
复制
	alter  table  old_table_name  rename  to  new_table_name;
	//把表score4修改成score5
	alter table score4 rename to score5;
2. 增加/修改列信息
  • 查询表结构
代码语言:javascript
复制
desc score5;
  • 添加列
代码语言:javascript
复制
alter table score5 add columns (mycol string, mysco string);
  • 查询表结构
代码语言:javascript
复制
desc score5;
  • 更新列
代码语言:javascript
复制
alter table score5 change column mysco mysconew int;
  • 查询表结构
代码语言:javascript
复制
desc score5;
  • 删除表数据
代码语言:javascript
复制
truncate table 表名; 
3.删除表
代码语言:javascript
复制
drop table score5;
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-09-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一. 数据库操作
  • 二、Hive的字段类型
  • 三、内部表操作
  • 三、外部表操作
  • 四、修改表
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档