华为云创建udf

耀灵2年前技术文章715
如何使用
1.把以上程序打包成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


2.需要使用一个具有admin权限的用户登录beeline客户端,执行如下命令:

kinit Hive业务用户

beeline

set role admin;


3.在Hive Server中定义该函数,以下语句用于创建永久函数:

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

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

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

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);

 

若重新连接客户端再使用函数出现[Error 10011]的错误,可执行reload function;命令后再使用该函数。


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

DROP FUNCTION addDoubles;


相关文章

大数据集群二次开发及调优使用指导(一)-HDFS

1.   典型业务调优涉及HDFS的相关业务一般可以分为IO密集型业务,计算密集型业务,低延迟业务,高吞吐量业务1.1     低延迟业务计...

Grafana简介

Grafana简介

一、Grafana介绍Grafana 是非常强大的可视化项目,它最早从 kibana 生成出来,渐渐也已经形成了自己的生态了。研究完 grafana 生态之后,只有一句话:可视化,grafana 就够...

rabbitmq-迁移方案

rabbitmq-迁移方案

rabbitmq共有两种迁移方案:迁移方式优点缺点可用性原理文件导入方式数据100%成功业务要修改地址暂停提供服务可以使用拷贝元数据方式添加集群方式不可用,数据会丢失(添加机器之前会清空之前所有的信息...

Linux 文本三剑客 - Sed

Stream EDitor(sed)是一种行编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为模式空间(pattern space),接着用 sed 命令处理缓冲区中的内容,处...

MySQL运维实战(7.1) 开启GTID复制

MySQL从5.6版本开始支持GTID复制。开启GTID之后,主库上执行的每一个事务都有一个全局唯一的ID。GTID由两部分组成:server_uuid和事务序列号。初始化数据库时,会生成一个全局唯一...

 MySQL运维实战(1.3)安装部署:源码编译安装

MySQL运维实战(1.3)安装部署:源码编译安装

源码编译安装通常不需要自己编译mysql源码,编译的mysql和二进制包的内容基本一致。当然有些时候可能会需要采用源码编译的方式安装,安装一些非标准版本的mysql安装一些社区的patch、bugfi...

发表评论    

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