java - Hive UDF 的语义异常错误。我正在尝试通过反转字符串进行测试

标签 java class oop hadoop hive

这是我的 Hive UDF。我的类和方法对我来说似乎很好,第一种方法也有效,但当我给 Hive 命令 select to_upper('abc','def');

时,第二种方法不起作用
package com.hive.udf;

import org.apache.hadoop.hive.ql.exec.UDF;
import org.w3c.dom.Text;

public class MyUpperUDF extends UDF {
    public MyUpperUDF(){
        System.out.println("Inside the constructor");
    }
    public String evaluate(String data){
        System.out.println("Inside the evaluate method");
        return data.toUpperCase();
    }
    public String evaluate(Text data1,String data2){
        System.out.println("Inside evaluate - concatenate & reverse method");
        String temp = data1.toString()+data2;
        StringBuffer sb = new StringBuffer(temp);
        return sb.reverse().toString();
    }

}

我收到以下错误: Error 谁能告诉我哪里出错了?

最佳答案

错误清楚地表明,没有带 (String, String) 参数的求值函数。您的程序有 2 个求值函数 - 一个使用字符串,另一个使用文本和字符串。尝试将第二个更改为 String, String。

关于java - Hive UDF 的语义异常错误。我正在尝试通过反转字符串进行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34246762/

相关文章:

c++ - 简单,但找不到 : syntax to work with member variables of STL queues with type class

c++ - 通过其抽象基类的指针返回派生类对象

ruby - 全局符号上下文中的类与实例方法

java - java中依赖于对象的代码

java - "Connected"UDP套接字接收ICMP端口不可达

java - 异常处理Java

JAVA,返回各个点之间距离的方法

java - AWS Toolkit for Eclipse Mars 在启动时出错

c++ - 如何为可为char或string的模板类实现方法?

php - 接口(interface)或抽象类 : which one to use?