2017-08-04 10 views
1

SELECT要求をハイブに送信すると、ASCII以外の文字をASCIIの文字に置き換えることはできますか?これはアクセントが削除されたものです(éêè =>e)。他の非英数字( ``)は削除されています。ハイブ:アクセントのない文字をアクセントのない相手に

私はregexp_replace()を使用できますが、アクセント付き/非アクセント型のペアはすべて処理する必要があることがわかります。確かに、もっと実用的なものがありますか?

答えて

1

あなたが私がreflectを使用してみましたが、それが原因Normalizer.Form列挙型パラメータに動作させることができませんでした Replace non ASCII character from string

で説明したように

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

を使用したいようです。

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

だから、あなたが1行のUDFを定義する必要があることと思われます

関連する問題