概述
博主使用JDBC方式进行hive编程,hive环境为hive2.2.0,需要开启hiveserver模式,自带的server模式是hiveserver2,启动命令如下:
(1)hive --service hiveserver2 (这种方式会使得hiveserver一直占用命令行,需要用Ctrl+C强制中断命令)
(2)hive --service hiveserver2 & (这个命令会使得hiveserver以后台进程的方式运行(敲个回车就可以回到linux命令行),通过kill -9 进程号实现关闭,例如hiveserver2的进程号为30314,则关闭命令为 kill -9 30314)
JDBC编程:
maven管理项目,需要导入的jar包如下:
JDBC代码:
其中,user和password为hive中hive-site.xml中数据库的用户民和密码
此时运行可能会出现如下问题:Failed to open new session: java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): User: mwq is not allowed to impersonate root (state=08S01,code=0)
此时因为当前hadoop用户的权限不足,需要对hadoop的core-site.xml进行配置
解决方式:在hadoop的配置文件core-site.xml增加如下配置,重启hdfs,其中“xxx”是连接hadoop的用户,将“xxx”替换成自己的用户名即可,在各节点上都需要进行此配置
<property>
<name>hadoop.proxyuser.xxx.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.xxx.groups</name>
<value>*</value>
</property>
在此例中,xxx就是mwq
最后
以上就是顺心音响为你收集整理的hive编程-JDBC方式连接hive的全部内容,希望文章能够帮你解决hive编程-JDBC方式连接hive所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复