配置ranger后hive注册永久UDF

南墨1年前技术文章1092

背景:由于有些场景在启用Ranger情况下,客户在分配权限时候对高权限有特别要求,尽可能给用户设置低权限,无法在ranger中设置用户为 is Role admin权限(hive管理员权限)

操作流程:

1、在Ranger中配置用户具有udf创建查看权限

以rangeradmin用户登录Ranger——>点击hive

image.png

添加一个新的策略

image.png

创建策略(注意步骤2可以选择指定库,步骤3中默认是table要选成udf,值可以定义为*)

image.png

(步骤4选择添加的用户,步骤5中至少要给create权限,drop权限为删除udf函数权限可选是否给)

image.png

2、在客户端安装节点,把UDF函数jar包打包(如AddDoublesUDF.jar),并上传到HDFS指定目录下(例如“/user/hive_examples_jars”)。

创建函数的用户与使用函数的用户都需要具有该文件的可读权限。

示例语句:

hdfs dfs -put ./hive_examples_jars /user/hive_examples_jars

hdfs dfs -chmod 777 /user/hive_examples_jars

3、在Hive Server中定义该函数,以下语句用于创建永久函数:(其中addDoubles是该函数的别名,用于SELECT查询中使用

CREATE FUNCTION addDoubles AS 'com.huawei.bigdata.hive.example.udf.AddDoublesUDF' using jar 'hdfs://hacluster/user/hive_examples_jars/AddDoublesUDF.jar';

以下语句用于创建临时函数:

CREATE TEMPORARY FUNCTION addDoubles AS 'com.huawei.bigdata.hive.example.udf.AddDoublesUDF' using jar 'hdfs://hacluster/user/hive_examples_jars/AddDoublesUDF.jar';

•addDoubles是该函数的别名,用于SELECT查询中使用。

关键字TEMPORARY说明该函数只在当前这个Hive Server的会话过程中定义使用。

4、在Hive Server中使用该函数,执行SQL语句:

SELECT addDoubles(1,2,3);

5、在Hive Server中删除该函数,执行SQL语句:

DROP FUNCTION addDoubles;


相关文章

热点现象(数据倾斜)怎么产生的,以及解决方法有哪些

热点现象:某个小的时段内,对HBase 的读写请求集中到极少数的Region 上,导致这些region所在的RegionServer 处理请求量骤增,负载量明显偏大,而其他的RgionServer明显...

Tcpdump抓包总结

Tcpdump抓包总结

一、简介tcpdump是一个用于截取网络分组,并输出分组内容的工具。凭借强大的功能和灵活的截取策略,使其成为类UNIX系统下用于网络分析和问题排查的首选工具 tcpdump提供了源代码,公开了接口,因...

MongoDB的WiredTiger存储引擎

从MongoDB 3.2 开始,MongoDB实例默认的存储引擎为WiredTiger,WiredTiger存储引擎具体以下几大优点:文档级并发将数据持久化到磁盘快照和checkpoint数据压缩本地...

副本集同步原理

一、Initial Sync大体来说,MongoDB副本集同步主要包含两个步骤:1. Initial Sync,全量同步2. Replication,即sync oplog先通过init sync同步...

Flume使用案例之实时读取目录到HDFS

目标:使用flume监听整个目录的文件分步实现:1. 创建配置文件flume-dir.conf#1 Agenta3.sources = r3a3.sinks = k3a3.channels = c3 ...

MySQL 复制-有数据环境搭建异步复制

MySQL 复制-有数据环境搭建异步复制

前言本 SOP 介绍的是已有数据的场景下如果部署主从复制,因为是生产环境而且有数据,我们就需要先将主库的数据同步到从库再建立复制关系,还需要根据数据量来选择更适合的备份工具。一、步骤归纳单实例安装:新...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。