大数据之hive_hive对数据库的基础操作命令

Hive的使用四种方式

1.在linux中直接输入 : hive -e “select * from tb-user”
2.将sql语句写入脚本文件中,在linux中执行脚本文件: hive -f select.sql
3.本地运行hive,直接输入 : hive
4.远程连接:
4.1 . hiveserver2 --开启远程连接权限
4.2.待出现10000端口号之后,输入beeline
4.3 然后输入!connect jdbc:hive2://linu01:10000
4.4 输入账号root,密码直接回车,即可登录

Hive数据类型

Hive数据类型		Java数据类型			长度			例子
TINYINT				byte		1byte有符号整数		20
SMALINT				short		2byte有符号整数		20
INT					int			4byte有符号整数		20
BIGINT				long		8byte有符号整数		20
BOOLEAN				boolean		布尔类型,			true或者false	TRUE  FALSE
FLOAT				float		单精度浮点数			3.14159
DOUBLE				double		双精度浮点数			3.14159
STRING				string		字符系列。可以指定字符集。可以使用单引号或者双引号。	‘now is the time’ “for all good men”
TIMESTAMP						时间类型	
BINARY							字节数组	

DDL 语言

创建数据库

创建一个数据库,数据库在HDFS上的默认存储路径是/user/hive/warehouse/*.db。

hive (default)> create database db_hive;

2)避免要创建的数据库已经存在错误,增加if not exists判断。(标准写法)

hive (default)> create database db_hive;
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Database db_hive already exists
hive (default)> create database if not exists db_hive;

3)创建一个数据库,指定数据库在HDFS上存放的位置

hive (default)> create database db_hive2 location '/db_hive2.db';

在这里插入图片描述

查询数据库

显示数据库
1.显示数据库

hive> show databases;

2.过滤显示查询的数据库

hive> show databases like 'db_hive*';
OK
db_hive
db_hive_1
show databases like '*lt' ;
| default        |

查看数据库详情
1.显示数据库信息

hive> desc database db_hive;
OK
db_hive		hdfs:/doit01:9000/user/hive/warehouse/db_hive.db

2.显示数据库详细信息,extended

hive> desc database extended db_hive;
OK
db_hive		hdfs:/doit01:9000/user/hive/warehouse/db_hive.db	

切换当前数据库

hive (default)> use db_hive;

查询当前所在的数据库:

select current_database();

修改数据库

用户可以使用ALTER DATABASE命令为某个数据库的DBPROPERTIES设置键-值对属性值,来描述这个数据库的属性信息。数据库的其他元数据信息都是不可更改的,包括数据库名和数据库所在的目录位置。

hive (default)> alter database db_hive set dbproperties('createtime'='20170830');

在hive中查看修改结果

hive> desc database extended db_hive;
db_name comment location        owner_name      owner_type      parameters
db_hive         hdfs:/doit01:8020/user/hive/warehouse/db_hive.db   root USER    {createtime=20170830}

删除数据库

1.删除空数据库

hive>drop database db_hive2;

2.如果删除的数据库不存在,最好采用 if exists判断数据库是否存在

hive> drop database db_hive;
FAILED: SemanticException [Error 10072]: Database does not exist: db_hive
hive> drop database if exists db_hive2;

3.如果数据库不为空,可以采用cascade命令,强制删除

hive> drop database db_hive;
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. InvalidOperationException(message:Database db_hive is not empty. One or more tables exist.)
hive> drop database db_hive cascade;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值