我想在HIVE表中为我的10M数据构建代理密钥(bigint数据类型)。我正在尝试使用ROW_NUMBER() OVER (PARTITION BY COL1 ORDER BY COL2)
或DENSE_RANK() OVER (PARTITION BY COL1)
。现在,由于Hadoop是分布式架构,并且在多个节点中并行运行,因此在这种情况下,我们是否会有重复的密钥?意味着我们可以让COL1 =“第一个值”(从一个工作节点生成)具有key = 10,并且对于COL1 =“ Second Value”(从另一个工作节点生成),对于key具有相同的键值,例如key = 10。如果是,那么还有其他方法可以生成唯一的BIGINT类型的密钥吗?如果它将生成唯一密钥,那么明智地处理与多个节点一起使用时如何处理它?节点之间是否有任何协调以照顾到这种情况并确保密钥是唯一的?我们尝试了样本10K记录,发现键是唯一的。