【发布时间】:2020-03-21 13:38:47
【问题描述】:
我对在 SQL 中执行 Hive UDF 感到困惑。 当 SQL 编译成 MR 作业时,节点从 HiveServer 获取 JAR?如果在UDF中声明了一些静态变量,这些静态变量存在于哪里?
【问题讨论】:
标签: hive user-defined-functions
我对在 SQL 中执行 Hive UDF 感到困惑。 当 SQL 编译成 MR 作业时,节点从 HiveServer 获取 JAR?如果在UDF中声明了一些静态变量,这些静态变量存在于哪里?
【问题讨论】:
标签: hive user-defined-functions
是的,你的理解是正确的。 Hive 基本上通过将其添加到分布式缓存中作为 add Jar 使这些 jar 在其所有节点上可用。
您必须注册 UDF 以便 hive 识别它。注册 UDF 将进入 hive 元存储。这通常通过执行类似CREATE FUNCTION <function_name> AS org.apache... 的操作来完成
这通常应该在 hive-env.sh 中可用
【讨论】: