既存の関数を使用してのみUDFを記述することなく、ハイブで文字列のハッシュを計算します。だから私は他の言語で一貫したハッシュを得るために同様のアプローチを使用することができます。例えば:文字を追加したりXorを取ったりするなど、私が何かできることを使っている関数はありますか?Hiveで既存のハッシュ関数を使用せずにハッシュを計算する
0
A
答えて
1
これはHiveのバージョンによって異なります。 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-Misc.Functions
select XYZ, hash(XYZ) from ABC
は、INT(32ビットのハッシュ)
select XYZ, crc32(XYZ) from ABC
はハイブ1.3必要とし、(おそらくjava.util.zip.CRC32
経由)、昔ながらの巡回冗長検査を適用するを返す、年間の利用されてと、昔ながらのjava.lang.String.hashCode()
適用されていますBIGINT(32ビットハッシュ)
select XYZ, md5(XYZ), sha1(XYZ), sha2(XYZ,256), sha2(XYZ,512) from ABC
を返すことハイブ1.3を必要とし、強力な適用、暗号のハッシュ関数、バイナリ(128、160、256、および512ビットのハッシュ)の16進表現を含む文字列を返す
[編集]回答that postにも用いて暗号ハッシュ関数を適用するための非常に良好な回避策を持っていますHiveの古いバージョン、Apache Commons静的メソッドとreflect()
を使用しています。
関連する問題
- 1. ハッシュ関数の計算
- 2. 範囲0の計算ハッシュ関数
- 3. 2つの入力からハッシュ値を計算するCRC16ハッシュ関数
- 4. SHA256ハッシュ計算
- 5. Scalaでファイルコンテンツのハッシュを計算する
- 6. デルファイ10を使用してAndroidでHMACハッシュを計算する
- 7. ハッシュ関数を使用する
- 8. クラスとインスタンスのハッシュを計算する
- 9. クリプトンパッケージのハッシュ関数のハッシュ
- 10. 計算ビデオファイルのMD5(ハッシュ)
- 11. ワニス:ハッシュ計算のため
- 12. C#NTLMハッシュ計算機
- 13. Java AWS SDKを使用したファイルアップロードでMD5ハッシュを計算できません
- 14. ハッシュ関数を使用したオプティミスティックロック
- 15. Pythonハッシュ関数を使用したパスワード
- 16. アセンブリのメタデータのハッシュを計算できませんでした
- 17. ハッシュ関数と余り演算子
- 18. ハッシュ関数を知らずにLDAPパスワードを変更する
- 19. Cで大きなファイルのMD5ハッシュを計算するには?
- 20. Android/JavaとC#で計算SHA256ハッシュ
- 21. Pythonハッシュ関数
- 22. ハッシュ関数は
- 23. Javaハッシュ関数
- 24. PHPハッシュ関数
- 25. Pythonで文字列+秘密鍵を使用してSHAハッシュを計算する
- 26. ファイルホスティングサイトのハッシュ関数
- 27. Rubyハッシュ:数量を減算する
- 28. PCLCryptoの既存のキーを使用してパスワードをハッシュする方法は?
- 29. ファイルを保存している間にハッシュを計算していますか?
- 30. 条件ハッシュで関数を使用する
あなたのタイトルは「*存在しないハッシュfuction」*を使用していませんが、あなたの質問には「正しい関数を使って」*と書かれています。あなたは何をしたいですか? –
あなたが使用しているHiveのバージョンとあなたが参照している他の言語に関してもっと具体的にする必要があります –
"他の言語で一貫したハッシュを得るために同様のアプローチを使うことができるように"そうすれば、他の言語で計算しても似ている。だから私は他の言語でも複製することができる "他の"既存の関数を使って可能な最も簡単なハッシュを計算したい。例:私はASCII( "abc")%NoofBucketsを実行することができるように文字列をバケット化したいので、最初の文字のasciiを与えますが、バケットの分布はそれほど良くありません。だからもっと合理的なものが必要です。 –