add jar /myJar.udf11.jar 没有问题, create temporary function my_udf as ‘myjar.Wuhaha’; 有问题
时间: 2024-09-27 21:16:53 浏览: 37
在Hive中,添加自定义JAR并创建临时函数(如`CREATE TEMPORARY FUNCTION`)来使用其中的用户定义函数(UDF)是非常常见的操作。从提供的引用来看,有两个步骤:
1. **添加JAR文件**[^1]:
```sql
CREATE FUNCTION AES AS 'com.mingyang.AesDecryptUDF' USING JAR 'hdfs://nameservice1/user/lib/common_udf.jar', JAR 'hdfs://nameservice1/user/lib/fastjson2-2.0.16.jar';
```
这里创建了一个名为AES的函数,使用了来自两个JAR文件中的类。
2. **创建新的UDF函数**[^2]:
```sql
CREATE FUNCTION NormCurrencyType AS 'com.mingyang.GetNormCurrencyTypeUDF' USING JAR 'hdfs://nameservice1/user/lib/GetNormCurrencyTypeUDF.jar';
```
对于您提到的命令`CREATE TEMPORARY FUNCTION my_udf AS 'myjar.Wuhaha'`,如果`myjar`和`Wuhaha`是正确的库名和函数名,理论上应该是可以的。但是,这里可能存在一些潜在问题:
- **路径问题**:确保`myjar.udf11.jar`文件存在且路径正确,与`hdfs://nameservice1/user/lib/`下的路径格式一致。
- **函数名称和类映射**:确认`Wuhaha`是你想要调用的函数的实际全限定名(包括包名),并且它存在于`myjar`中。
- **权限问题**:执行这些操作时,用户可能需要具有足够的权限访问这些JAR文件和调用函数。
如果你遇到问题,可能需要检查上述几个方面。具体错误信息通常会指出问题所在。
阅读全文