首页/数据/数仓建模速查/哈希代理键:无状态生成与并行优势
维度与事实设计149 条

哈希代理键:无状态生成与并行优势

用自然键哈希生成代理键:无状态、可并行、跨表一致;代价是键变长、理论碰撞风险,需要固定拼接规则。

数仓建模速查数据更新于 2026-10-12
算法md5 / sha1 / xxhash
优点可重现、易并行
代价长键 + 理论碰撞

生成哈希键

生成哈希键
SELECT md5(concat_ws('|', 'CUST', trim(customer_id))) AS customer_sk
FROM stg_customer;
跨源合并时为避免撞键,拼接时带上源系统标识;低碰撞要求可改用 xxhash64。

易错点

  • 拼接规则不一致,跨表键对不上
  • 假设哈希键可读/可排序,下游出现非预期行为

数据来源与参考

  • 数据仓库工具箱:代理键生成;Spark SQL 函数参考
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌