大数据-Hive 的三种交互方式

  • 2019 年 12 月 26 日
  • 筆記

2.7. Hive 的三种交互方式

第一种交互方式 bin/hive

cd /export/servers/apache-hive-3.1.0-bin/ bin/hive

创建一个数据库

create database if not exists mytest;

第二种交互方式 HiveServer2

hive官方推荐使用hiveserver2的这种交互方式,需要我们启动hiveserver2这个服务端,然后通过客户 端去进行连接

启动服务端(前台启动命令如下)

cd /export/servers/apache-hive-3.1.0-bin/ bin/hive --service hiveserver2

重新开一个窗口启动我们的客户单进行连接

cd /export/servers/apache-hive-3.1.0-bin bin/beeline !connect jdbc:hive2://node03.hadoop.com:10000

进行连接,用户名为hadoop 密码为123456出现以下错误

解决方法:关闭hive的服务端,在hadoop的配置文件core-site.xml当中添加以下两行配置,然后重启 hdfs以及yarn集群

<property>      <name>hadoop.proxyuser.hadoop.hosts</name>      <value>*</value>  </property>  <property>      <name>hadoop.proxyuser.hadoop.groups</name>      <value>root</value>  </property>

重新进行启动hive的服务端,然后继续使用客户端进行连接即可

启动服务端

cd /export/servers/apache-hive-3.1.0-bin/ bin/hive --service hiveserver2

开一个新的xshell会话窗口,客户端进行连接

cd /export/servers/apache-hive-3.1.0-bin bin/beeline !connect jdbc:hive2://node03.hadoop.com:10000

第三种交互方式:使用sql语句或者sql脚本进行交互

不进入hive的客户端直接执行hive的hql语句

cd /export/servers/apache-hive-3.1.0-bin bin/hive -e "create database if not exists mytest;"

或者我们可以将我们的hql语句写成一个sql脚本然后执行

cd /export/servers vim hive.sql
create database if not exists mytest; use mytest; create table stu(id int,name string);

通过hive -f 来执行我们的sql脚本

hive -f /export/servers/hive.sql