Hive 函数解读

Posted by danner on May 28, 2018

闲来无事,看几个 Hive 中的函数实现

编译

下载 源码 ,解压目录执行以下命令即可编译

mvn -e clean package -Phadoop-2,dist -DskipTests=true

注:编译要在类 Unix 环境(Win 的bash),不然有编译过程中目录生成会有问题

IDEA 调试

命令行启动 Debug 模式的 Hive

 bin/hive --debug -hiveconf hive.root.logger=DEBUG,console
 # 启动后,屏幕显示 8000 端口等待调试
 Listening for transport dt_socket at address: 8000

IDEA 设置 Debug 配置

点击 debug 按钮,hive 命令才会跑起来(要调试哪个模块,在 IDEA 先打好断点)。

函数

Hive 中的函数是在 FunctionRegistry 类注册,比如

system.registerUDF("substr", UDFSubstr.class, false);

注册 substr;你可以在此类中查看 Hive 支持的函数以及增加自定义函数。