基于CDH5.x 下面使用eclipse 操作hive 。使用java通过jdbc连接HIVESERVICE 创建表出现的问题及解决
来源:互联网 发布:windows程序设计 画圆 编辑:程序博客网 时间:2024/04/30 14:08
基于CDH5.x 下面使用eclipse 操作hive 。使用java通过jdbc连接HIVESERVICE 创建表
import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;/** * Created by Sebastian on 2016/10/25. * */public class Hive { private static String driverName = "org.apache.hive.jdbc.HiveDriver"; //驱动名称 private static String url = "jdbc:hive2://cluster1:10000/default"; //由于我的HIVE版本是hive1.1所以使用hive2 private static String user = "root"; private static String password = "root123"; private static String sql = ""; private static ResultSet res; public static void main (String[] args) { try { Class.forName(driverName); Connection conn = DriverManager.getConnection(url,user,password); Statement stmt = conn.createStatement(); //需要创建的表名 String tableName = "testHiveTable"; // 如果表存在就删除 // sql = "drop table" + tableName; // stmt.execute(sql); // 创建表 sql = "CREATE table " + tableName + " (key int, value string) row format delimited fields terminated by '\t' STORED AS TEXTFILE"; stmt.execute(sql); conn.close(); conn = null; } catch (ClassNotFoundException e) { e.printStackTrace(); System.exit(1); } catch (SQLException e) { e.printStackTrace(); System.exit(1); } }}
要执行上面的代码需要以下依赖包:
还有一个hadoop-core-1.1.1.jar
执行上面的代码会出现:
Error while compiling statement: No privilege ‘Create’ found for outputs { database:default }
根据代码提示我们就要去搞权限的问题了。
CDH5的Hive权限配置
1、默认是没有限制的,所以我们通过执行命令开启。(特意提醒:在hive里面执行。。。)
set hive.security.authorization.enabled=true;
2.Cloudera Manager中配置
2.1首先在hive-site.xml的客户端配置代码段里面设置
第一个就是开启权限
第二个就是表的创建者对其创建的表,拥有所有的权限。
第三个就是权限控制配置罗
2.2要在hive-site.xml 的 HiveServer2 高级配置代码段(安全阀)添加如下配置
然后在CDH里面重启过期服务。进入hive开始设置权限
权限列表:
1.创建角色
create role test_role; //创建一个测试角色create role admin;
2.给角色授权
grant all on database default to role admin; //赋予所有权限给admin这个角色grant select on database default to role admin; //这个是例子。。。
3.给角色添加用户 grant role admin to user root;
因为我最上面的代码账号是root,要执行那段代码需要赋予权限给root
这个是CSDN上面某位大哥的
http://blog.csdn.net/wangyijie0219/article/details/46564587
1.给用户授权
基于数据库
grant select on database default to user admin;
基于某张表:
grant select on table TTT to user admin;
2.给组授权
基于数据库:
grant select on database default to group admin;
基于某张表
grant select on table TTT to group admin;
3.给角色授权
基于数据库:
grant select on database default to role admin;
基于某张表
grant select on table ppdata to role admin;
4.创建角色
create role test_role;
5.给用户添加角色
grant role test_roleto user user Sebastian;
6.给用户移除权限
基于数据库:
revoke select on database default from user Sebastian;
基于某张表
revoke select on table TTT from Sebastian;
7.查看权限
SHOW GRANT user root ON DATABASE default;
SHOW GRANT group test_role ON DATABASE default;
- 基于CDH5.x 下面使用eclipse 操作hive 。使用java通过jdbc连接HIVESERVICE 创建表出现的问题及解决
- 解决JAVA通过JDBC连接Oracle数据库出现的问题
- java 通过jdbc驱动连接hive操作
- Java HIVE 使用Jdbc连接Hive
- eclipse通过jdbc连接hive
- Hive使用JDBC连接
- Java通过JDBC连接Hive
- java 通过JDBC连接hive
- java 通过jdbc驱动连接hive操作实例
- java 通过jdbc驱动连接hive操作实例
- java 通过jdbc驱动连接hive操作实例
- java 通过jdbc驱动连接hive操作实例
- java通过JDBC驱动连接操作hive实例
- java 通过jdbc驱动连接hive操作实例
- java 通过jdbc驱动连接hive操作实例
- java通过jdbc驱动连接hive操作实例
- java通过JDBC驱动连接操作hive实例
- java通过JDBC驱动连接操作hive实例
- [FAQ13734]状态栏中的信号栏添加上下行标识
- 2016年Q1~Q3文章汇总
- SPRING框架中ModelAndView、Model、ModelMap区别【转】
- 票房拐点之后的影院并购,继续“小而频”还是大洗牌
- mysql 时间函数
- 基于CDH5.x 下面使用eclipse 操作hive 。使用java通过jdbc连接HIVESERVICE 创建表出现的问题及解决
- Unity Shader菲涅耳反射(Fresnel)
- 工业AR先锋Daqri寻求2亿美元投资
- 投资者要小心了!谷歌Pixel利润率与iPhone相当
- 满满都是套路!投资人十大常用“谎言”你都Get到了吗?
- 触动传媒总部人去楼空 上海多家出租车公司追讨欠款
- JavaSE:1min讲解引用类型参数(3)-接口
- Paxos算法的通俗理解
- 星巴克的5年内门店翻倍计划面临诸多挑战