Generic UDF开发测试

对于hive开发udf继承GenericUDF需要实现三个必要的方法

  • initialize方法需要声明返回值类型
  • evaluate实现主要逻辑
  • getDisplayString(没研究明白)

记录开发测试:

1.在initialize方法中 什么都不写直接返回null,其他两种方法都写

    --报错:FAILED: RuntimeException typeInfo cannot be null!
    
2.在initialize中声明输入变量类型和输出变量类型(Hadoop类型)
    在initialize方法中返回一个String类型所对应的类型即可
    return PrimitiveObjectInspectorFactory.writableStringObjectInspector;

    --正常输出
    
3.将evaluate方法中的返回值直接返回String类型不进行Text包装

    --Failed with exception java.io.IOException:org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.ClassCastException: java.lang.String cannot be cast to org.apache.hadoop.io.Text

    --结果表明输出类型必须是Hadoop的类型才可以
    
4.在getDisplayString方法中返回函数说明

    --There is no documentation for function 'parseua'
    
    --使用describe function parseua 返回值 没有达到预期;

猜你喜欢

转载自blog.csdn.net/bigdataprimary/article/details/82745396