Hive 蜂巢:重音字符与非重音字符对应

Hive 蜂巢:重音字符与非重音字符对应,hive,hiveql,Hive,Hiveql,在发送到配置单元的SELECT请求中,如何用ascii对应字符替换非ascii字符?即删除重音符号(é,è,è=>e),并删除其他非字母数字字符(```) 我知道我可以使用regexp\u replace(),但我必须处理所有重音/非重音对。当然,还有更实用的吗?看来您想使用 String subjectString = "öäü"; subjectString = Normalizer.normalize(subjectString, Normalizer.Form.NFD); 如中所述

在发送到配置单元的
SELECT
请求中,如何用ascii对应字符替换非ascii字符?即删除重音符号(
é
è
è
=>
e
),并删除其他非字母数字字符(```)


我知道我可以使用
regexp\u replace()
,但我必须处理所有重音/非重音对。当然,还有更实用的吗?

看来您想使用

String subjectString = "öäü";
subjectString = Normalizer.normalize(subjectString, Normalizer.Form.NFD);
如中所述

我已尝试使用,但由于
Normalizer.Form
enum参数,无法使其工作

因此,您似乎必须定义一行UDF:

public class NormalizerUDF extends UDF {
  public String evaluate(String in) {
        return Normalizer.normalize(in, Normalizer.Form.NFD);
  }
}

您好,您知道如何在配置单元查询中使用它吗?