Apache pig 使用自定义秩在PIG中生成代理密钥

Apache pig 使用自定义秩在PIG中生成代理密钥,apache-pig,surrogate-key,Apache Pig,Surrogate Key,我将每天做PIG转换(每天新数据)。我需要为每天提取的数据生成唯一的密钥。最好的方法是什么?如果我执行tomarow的排名是否会覆盖今天的排名 您的排名将从每次开始时的1开始。如果您想每天生成唯一的数据,我建议在concat(rank+date)上使用datafu散列方法。您将得到一个唯一的散列,可以用作代理密钥 REGISTER datafu-1.2.0.jar DEFINE SHA datafu.pig.hash.SHA(); S1 = LOAD 'surrogate_hash' USIN

我将每天做PIG转换(每天新数据)。我需要为每天提取的数据生成唯一的密钥。最好的方法是什么?如果我执行tomarow的排名是否会覆盖今天的排名

您的排名将从每次开始时的1开始。如果您想每天生成唯一的数据,我建议在concat(rank+date)上使用datafu散列方法。您将得到一个唯一的散列,可以用作代理密钥

REGISTER datafu-1.2.0.jar
DEFINE SHA datafu.pig.hash.SHA();

S1 = LOAD 'surrogate_hash' USING PigStorage('|') AS (c1:chararray,date:chararray,c3:chararray);
S2 = RANK S1;
S3 = FOREACH S2 GENERATE SHA((chararray)CONCAT((chararray)rank_S1,date)),c1,date,c3;

dump S3;