【问题标题】:fnv_hash() in Impala vs oracle hash valueImpala 中的 fnv_hash() 与 oracle 哈希值
【发布时间】:2021-09-29 11:32:24
【问题描述】:

我们如何在 oracle db 中获得与 impala 相同的哈希值。 我已将表和代码从 impala 迁移到 oracle。一些查询在 impala 中使用带有 FNV_HASH 函数的哈希值,现在我们也必须在 oracle 中使用相同的 has 值。 我使用了以下函数,但获得了除 fnv_hash() 值之外的不同值。

select ora_hash(col1) from tab1;
o/p Like (32 bit crypto) : 383995946

select standard_hash(col1) from tab1;
o/p Like : 1C573524423F604D0A784304DF9D3987C9FF8491

 but fnv_hash () has different values in impala.
select fnv_hash(col1) from tab1;
o/p like (64 bit crypto) : 560601135861444766 

能否请您帮助我了解如何在 oracle 中获得与 impala 相同的 64 位 cyypto 值。

【问题讨论】:

    标签: oracle hash hive impala ora-hash


    【解决方案1】:

    fnv_hash 实现了一个非加密的Fowler–Noll–Vo hash 函数。 Oracle 的ORA_HASH 是一种专有的非加密散列算法,STANDARD_HASH 实现了许多标准加密散列,如 SHA1、SHA256、SHA384、SHA512 和 MD5。它们永远不会产生相同的输出,因为它们执行的计算不同。

    Oracle 似乎没有等效于 fnv_hash 的 64 位。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-27
      • 2010-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-20
      • 1970-01-01
      • 2013-03-22
      相关资源
      最近更新 更多