hive的总结
hive总结:
问题一:hive的管理方式:
主要分为三种:
- cli
- web
- jdbc
1、hive 命令行模式,直接输入/hive/bin/hive,或者输入 hive --service cli
用于linux平台命令行查询,查询语句基本跟mysql查询语句类似
2、 hive web界面的 (端口号9999) 启动方式
hive –service hwi &
用于通过浏览器来访问hive,感觉没多大用途
3、 hive 远程服务 (端口号10000) 启动方式
hive --service hiveserver &
或者
hive --service hiveserver 10000>/dev/null 2>/dev/null &
beeline方式连接:beeline -u jdbc:hive2//localhost:10000/default -n root -p 123456
或者
java client方式连接
备注:
连接Hive JDBC URL:jdbc:hive://192.168.6.116:10000/default (Hive默认端口:10000 默认数据库名:default)
hive的按照模式
hive的按照模式分为三种:
- 嵌入式(把元数据放入默认的传统数据库derby【用于测试,单连接】),
- 本地模式(元数据装在非derby数据库中,数据库与hive装在同一个物理机上),
- 远程模式(数据库与hive不在同一个物理机上)
hive的本地模式和远程模式有什么区别?
hive本质上是将sql语法解析为mapreduce的过程,既然如此它就必须提交mapreduce任务到resoucemanager,那么它如何提交?就是通过hadoop提供的命令hadoop jar命令来提交。
本地模式:简单的理解,hive客户端仅供本地使用,直接使用hive命令,不需要指定IP 端口
远程模式:简单的理解,将hive发布成一个服务进程,通过hive --service hiveserver命令,那么其他hive客户端就可以连接hive的服务进程
其他客户端可以是jdbc方式、hive提供的beeline命令等,既然要连接远端的hive服务进程,那自然需要指定 IP 端口,这里的IP指的是hive服务进程所在的IP,端口自然也是,也自然与hadoop无关。所以不要混淆
HiveServer2提供了一个新的命令行工具Beeline,它是基于SQLLine CLI的JDBC客户端。
Hive cli命令行工具默认显示当前数据库
Hive 支持多数据库,Hive 默认的数据库是 default,每个数据库都是一个 hdfs 目录,default 比较特殊,位于 Hive 存储根目录下, 其他新建的数据库都会位于根目录子目录,子目录名为数据库名。
默认情况下,Hive cli并不会显示当前数据库,但 hive 提供了一个属性: hive.cli.print.current.db=true; 来设置打印当前数据库名称。具体设置方法有2种:
1、需要用时,即时配置,在cli执行属性设置,这种配置方式,当重新打开cli时,就会生效:
hive> set hive.cli.print.current.db=true;
2、一次配置,永久生效,在当前用户的HOME目录下,新建.hiverc文件,把属性设置命令放置到该文件中,每次打开cli时,都会先执行该文件。
3、效果。
hive(default)>
本文来自博客园,作者:huhy,转载请注明原文链接:https://www.cnblogs.com/huhongy/p/8259687.html