1、使用hive客户端命令创建表,命令如下:
注:发现hive客户端和hiveserver2不能同时使用,但可以使用beeline。
beeline使用如下:
输入命令:beeline
然后输入连接命令:
!connect jdbc:hive2://localhost:11111
提示输入用户名密码直接回车即可;
验证是否成功:
CREATE DATABASE | SCHEMA [IF NOT EXISTS]
使用hive创建一个数据库userdb,并验证创建的库是否创建成功:
CREATE DATABASE [IF NOT EXISTS] userdb;
SHOW DATABASES;
2、使用python访问hive进行数据库创建,代码如下:
from pyhive import hive
from TCLIService.ttypes import TOperationState
# 打开hive连接
hiveConn = hive.connect(host='192.168.83.135',port=11111)
cursor = hiveConn.cursor()
# 执行sql语句
sql = ''' CREATE DATABASE userdbbypy '''
cursor.execute(sql, async=True)
# 得到执行语句的状态
status = cursor.poll().operationState
print "status:",status
# 关闭hive连接
cursor.close()
hiveConn.close()
代码执行之后,可以在beeline中连接hive查看:
3、使用DROP命令删除数据库及数据库中的表,语法如下:
DROP DATABASE StatementDROP (DATABASE|SCHEMA) [IF EXISTS] database_name
[RESTRICT|CASCADE]
使用命令删除刚刚创建的表:
DROP DATABASE IF EXISTS userdb;
可以看到userdb已经删除成功。
CASCADE:在删除数据库之前要全部删除相应的表
DROP DATABASE IF EXISTS userdb CASCADE;
4、使用python访问hive进行数据库删除,代码如下:
from pyhive import hive
from TCLIService.ttypes import TOperationState
# 打开hive连接
hiveConn = hive.connect(host='192.168.83.135',port=11111)
cursor = hiveConn.cursor()
# 执行sql语句
sql = ''' DROP DATABASE userdbbypy '''
cursor.execute(sql, async=True)
# 得到执行语句的状态
status = cursor.poll().operationState
print "status:",status
# 关闭hive连接
cursor.close()
hiveConn.close()