Open1

Presto/HiveでのHash化の方法

mickeeymickeey

TrinoでSHA256をかけるにはどうしたらいいんですかってよくきかれるので、自分用のメモ。

SELECT TO_HEX(SHA256(TO_UTF8('hoge')))

SHA256関数はbinaryを引数にとるので、一度TO_UTF8でvarbinaryに変換が必要。
SHA256はvarbinaryが返り値なので、TO_HEXをかけてvarcharに変換する。

ちなみにHiveだとこんな感じ。第1引数に変換したカラム(値)、第2引数にHashの種類を指定する。

SELECT SHA2('hoge', 256)

参考:
https://trino.io/docs/317/functions/string.html#to_utf8
https://trino.io/docs/317/functions/binary.html#sha256
https://trino.io/docs/317/functions/binary.html#to_hex

https://cwiki.apache.org/confluence/display/hive/languagemanual+udf#LanguageManualUDF-Misc.Functions