Hive 三种连接方式(CLI、HiveServer2/beeline(常用)、Web UI)及基本命令使用入门

Hive 三种连接方式(CLI、HiveServer2/beeline(常用)、Web UI)及基本命令使用入门

Hive 三种连接方式(CLI、HiveServer2/beeline(常用)、Web UI)及基本命令使用入门

1、Hive 使用方式,即三种连接方式1.1、CLI1.2、HiveServer2/beeline(常用)1.3、Web UI

2、Hive 基本使用(入门)3、学习内容

1、Hive 使用方式,即三种连接方式

1.1、CLI

配置 hive 环境变量后,直接输入命令 hive: [hadoop@hadoop02 ~]$ hive 启动成功的话如上图所示,接下来便可以做 hive 相关操作。

补充: (1)上面的 hive 命令相当于在启动的时候执行:hive --service cli; (2)使用 hive --help,可以查看 hive 命令可以启动那些服务; (3)通过 hive --service serviceName --help 可以查看某个具体命令的使用方式。

1.2、HiveServer2/beeline(常用)

在现在使用的最新的 hive-2.3.3 版本中:都需要对 hadoop 集群做如下改变,否则无法使用: (1)修改 hadoop 集群的 hdfs-site.xml 配置文件:加入一条配置信息,表示启用 webhdfs:

dfs.webhdfs.enabled

true

(2)修改 hadoop 集群的 core-site.xml 配置文件:加入两条配置信息,表示设置 hadoop 的代理用户:

hadoop.proxyuser.hadoop.hosts

*

hadoop.proxyuser.hadoop.groups

*

配置解析: hadoop.proxyuser.hadoop.hosts 配置成*的意义,表示任意节点使用 hadoop 集群的代理用户 hadoop 都能访问 hdfs 集群,hadoop.proxyuser.hadoop.groups 表示代理用户的组所属。

以上操作做好了之后,请继续做如下两步:

(3)先启动 hiveserver2 服务,启动方式,(假如是在 hadoop02 上): 启动为前台:

hiveserver2

启动为后台①:

nohup hiveserver2 1>/home/hadoop/hiveserver.log 2>/home/hadoop/hiveserver.err &

或者②:

nohup hiveserver2 1>/dev/null 2>/dev/null &

或者③:

nohup hiveserver2 >/dev/null 2>&1 &

以上 ①②③ 三个命令是等价的,第一个表示记录日志,第二个和第三个表示不记录日志。 ** ①②③命令中的 1 和 2 的意义分别是: 1:表示标准日志输出; 2:表示错误日志输出。 如果我没有配置日志的输出路径,日志会生成在当前工作目录,默认的日志名称叫做: nohup.xxx ** PS: nohup 命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用 nohup 命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。 nohup 就是不挂起的意思(no hang up)。该命令的一般形式为:

nohup command &

(4)然后启动 beeline 客户端去连接: 执行命令:

beeline -u jdbc:hive2://hadoop02:10000 -n hadoop

或者,相当于上个命令连接后使用命令:use database_name;:

beeline -u jdbc:hive2://hadoop02:10000/数据库名 -n hadoop

-u : 指定元数据库的链接信息 -n : 指定用户名和密码 (5)另外还有一种方式也可以去连接:先执行

beeline

然后按图所示输入:

!connect jdbc:hive2://hadoop02:10000

按回车,然后输入用户名,密码,这个用户名就是安装 hadoop 集群的用户名 接下来便可以做 hive 操作。

1.3、Web UI

(1)在 hive-site-xml 中添加 hive 配置。

hive.server2.webui.host

hadoop02

hive.server2.webui.port

10002

(2)启动 hive:

nohup hive --service metastore &

nohup hive --service hiveserver2 &

(3)在浏览器访问 http://hadoop02:10002。

至此大功告成。

2、Hive 基本使用(入门)

(1)创建库:

create database if not exists mydb;

(2)查看库:

show databases;

(3)切换数据库:

use mydb;

(4)创建表:

create table if not exists t_user(id string, name string);

create table t_user(id string, name string)

row format delimited fields terminated by ',';

(5)查看表列表:

show tables;

(6)批量插入数据:

insert into table t_user values ('1','huangbo'), ('2','xuzheng'), ('3','wangbaoqiang');

(7)查询数据:

select * from t_user;

(8)导入数据: a) 导入 HDFS 数据:

load data inpath '/user.txt' into table t_user;

b) 导入本地数据:

load data local inpath '/home/hadoop/user.txt' into table t_user;

user.txt 的数据为:

4,liudehua

5,wuyanzu

6,liangchaowei

(9)再次查询数据:

select * from t_user;

小技能补充: (1) 进入到用户的主目录,使用命令 cat /home/hadoop/.hivehistory 可以查看到 hive 执行的历史命令; (2)执行查询时若想显示表头信息时,请执行命令: Hive> set hive.cli.print.header=true; (3)hive 的执行日志的存储目录在

j

a

v

a

.

i

o

.

t

m

p

d

i

r

/

{java.io.tmpdir}/

java.io.tmpdir/{user.name}/hive.log中,假如使用 hadoop 用户操作的 hive,那么日志文件的存储路径为:/temp/hadoop/hive.log

3、学习内容

上节学习内容:Hive 初始环境搭建 下节学习内容:Hive 基本操作(一)DDL操作

相关创意

永生钢笔和英雄哪个好
365bet体育在线官

永生钢笔和英雄哪个好

📅 09-21 👁️ 9777
2022年國際足協世界盃
bt365网址

2022年國際足協世界盃

📅 07-28 👁️ 1977
【問題】靈犀一動是不是不用在該地點打坐??? @天涯明月刀 哈啦板
大清铜币中八大值钱的版本,很难找到了!
365bet体育在线官

大清铜币中八大值钱的版本,很难找到了!

📅 08-20 👁️ 3736
日本队发布世界杯进军宣传片 以看见最佳景色为目标挑战美加墨三国
无线降噪立体声耳机WH-1000XM5 / WH-1000XM5SA
注册送365

无线降噪立体声耳机WH-1000XM5 / WH-1000XM5SA

📅 08-15 👁️ 8301
Journey.ca 白菜价环球旅行
365bet体育在线官

Journey.ca 白菜价环球旅行

📅 07-28 👁️ 4959
麦克风声音小:解决麦克风声音过小的问题,让声音回归清晰