配置ranger后hive注册永久UDF

南墨2年前技术文章1768

背景:由于有些场景在启用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;


相关文章

聊一聊DevOps工具

聊一聊DevOps工具

DevOps工具越来越多,了解它们以及知道在什么时候使用他们越来越重要。因此,尝试做一些研究,以便我们可以将DevOps产品分类为大家都熟悉的类别或用途。在开始讨论DevOps工具和类别之前,让我们了...

Jenkinsfile说明

Jenkinsfile说明

当我们在使用jenkins进行CI/CD的时候,简单的内容我们可以通过jenkins页面来实现配置。但是如果有复杂的需求还是需要通过jenkinsfile来实现jenkinsfile简单介绍Jenki...

11g单实例adg部署

一、环境规划搭建adg需要备端完成rdbms软件安装这一步和监听配置,不需要安装数据库。注意:db_unique_name 主备库不能相同db_name主备库需保持一致主备库DB版本需保持一致信息项主...

DBMS_SYSTEM跟踪10046

SET_SQL_TRACE_IN_SESSION只能设置level 1的10046事件--启用level 1 Trace EXEC SYS.DBMS_SYSTEM.SET_SQL_TRACE_IN_...

zabbix监控导出生产环境数据

zabbix监控导出生产环境数据

问题需求导出zabbix数据库中 某个主机组下的端口监控 、 URL监控信息处理过程由于数据量较大,手动统计比较费时,因此考虑通过直接从数据库取出相关数据查找想关联的表,找到各监控项位于哪个数据库表内...

cattle-cluster-agent产生的僵尸进程处理

cattle-cluster-agent产生的僵尸进程处理

现象zabbix告警服务器存在僵尸进程排查步骤1、登陆服务器使用top命令,确认下僵尸进程数量。2、使用ps -aux | grep Z命令,过滤出僵尸进程PID。3、根据查到的PID,借助ps命令,...

发表评论    

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