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真题
