跳到主要内容

hash:哈希计算

速查结论

hash(expr1, expr2, ...) 是 Spark SQL 中用于计算一个或多个参数的哈希值的哈希函数。

语法

hash(expr1, expr2, ...)

参数说明

参数类型说明
expr1, expr2, ...任意类型一个或多个要计算哈希值的表达式。可以传入多个不同类型的参数。

示例

> SELECT hash('Spark', array(123), 2);
-1321691492

常见报错与避坑指南

  • 返回值类型hash() 返回 INT 类型的整数值。对于相同的输入,hash() 的返回值在同一个 Spark 会话中保持一致,但跨会话或跨版本可能不同。
  • 非密码学哈希hash() 是 Murmur3 哈希实现,适用于数据分区和分桶,但不适用于密码学安全场景。如需密码学安全哈希,请使用 md5()sha()sha2()
  • 多参数哈希hash() 接受多个参数,内部会将这些参数组合后计算哈希值。参数的顺序会影响哈希结果。

Since: 2.0.0

📱关注公众号

「数据仓库技术」文章同步更新,不错过每一篇干货

微信公众号二维码
💬加群交流

备注「数据仓库技术」加入社群,每日一道大厂SQL真题

交流微信二维码

你可能还想看