hive自定义函数udf,hiveserver2的使用

开发十年,就只剩下这套Java开发体系了 >>>   hot3.png

先在idea中编写自定义函数,继承udf类,实现execut,打包程序。

在hive的shell中,添加jar包---add jar /opt/hive/xxx.jar

注册函数:create temporary function xxx  as “com.bigdata.hive.udf.xxxUDF” ;

使用show functions;可以查看所有的函数。

hive最新可以直接使用指令创建自定义函数:

create function xxx as “com.bigdata.hive.udf.xxxUDF” using jar ‘hdfs:///warehouse/user/hive/xxx.jar’

jar包需要放在hdfs上。

使用beeline模式:

在hiveServer2开启的情况下,进入bin目录,开启beeline---./beeline;

链接数据库:

!connect jdbc:hive2://name2:10000 hive

hostname填写hiveserver2的地址

用户名默认为hive,密码为空。

压缩格式(保存为orc格式,同时用snappy压缩):

stored as orc tblproperties("orc.compress"="SNAPPY")

 

hive的transform的使用:

针对直接在hive的shell操作的,也可以不用写UDF,可以通过transform算子实现运行脚本来进行函数运算。

1.编写Python脚本:

import sys
import datetime
for line in sys.stdin:
    value=line.split('\001')
    for word in value:
        print (word.upper())//将字段都转为小写

2.进入hive的shell后,添加脚本文件:

add file /root/hive/lower.py

3.调用transform算子做预算出来:

select transform(ykd018) using 'python lower.py' 

你可能感兴趣的:(hive自定义函数udf,hiveserver2的使用)