文字列距離関数 in Impala

昨日 SQLite と Impala のUDFについて書きました。今日社内のSlackを見て最近 Impala での C++ 実装文字列距離関数 Levenshtein が話題に上がったことを知りました。

以前Oracle社員時代にもレーベンシュタインについて書きました。

ATOKでは尾根ギア問題は発生しない

Oracle DB の文字列編集距離関数で日本語誤変換を計算させてみる

Cloudera の比較的最近のバージョンで Hue で試した結果です。

image

SQLはこれです。

select levenshtein('onegaishimasu','onegiashimasu') as edit_distance
union all
select levenshtein('おねがいします','おねぎあします') as edit_distance
union all
select levenshtein('お願いします','尾根ギアします') as edit_distance

Apache JIRA です。

new built-in functions to calculate Levenshtein edit
distance.

[IMPALA-7759] Add Levenshtein edit distance built-in function – ASF JIRA

最後にGithubレポジトリーです。手順も書いてあります。

create function levenshtein(string, string) returns int
location ‘/tmp/libudf-levenshtein.so’ symbol=’Levenshtein’;

gregrahn/impala-levenshtein

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s