amazon-web-services - 如何在 Redshift 中生成 12 位唯一数字?

标签 amazon-web-services amazon-redshift amazon-redshift-spectrum

我在表中有 3 列,即 email_id , rid , final_id .
rid 的规则和 final_id :

  • 如果email_id有一个对应的rid , 使用 ridfinal_id .
  • 如果email_id没有对应的 rid (即 rid 为空),生成唯一的 12 位数字并插入 final_id field 。

  • 如何在 Redshift 中生成 12 位唯一数字?

    最佳答案

    来自 Creating a UUID function in Redshift :

    By default there is no UUID function in AWS Redshift. However with the Python User-Defined Function you can easily create a UUID function in Redshift.

    If you want random UUID:

    CREATE OR REPLACE FUNCTION public.fn_uuid()
    RETURNS character varying AS
    ' import uuid
     return uuid.uuid4().__str__()
     '
    LANGUAGE plpythonu VOLATILE;
    

    If you want sequential UUID :

    CREATE OR REPLACE FUNCTION public.fn_uuid()
    RETURNS character varying AS
    ' import uuid
     return uuid.uuid1().__str__()
     '
    LANGUAGE plpythonu VOLATILE;
    

    关于amazon-web-services - 如何在 Redshift 中生成 12 位唯一数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46578889/

    相关文章:

    amazon-web-services - 带有 Flink 的 AWS EMR 集群不运行任何 Jar,而是给出 java.lang.NoSuchMethodError

    amazon-web-services - AWS ElasticBeanstalk 从 Gitlab 注册表中提取 Docker 镜像

    amazon-web-services - RedShift 节点故障转移

    amazon-redshift-spectrum - Redshift 频谱显示所有行的 NULL 值

    amazon-athena - Redshift Spectrum 性能与 Athena

    amazon-web-services - AWS API 网关行为不一致。正在运行的 API 收到 403 错误

    amazon-web-services - 如何使用 ingress-nginx 让 HTTP/2 在 Kubernetes 集群中工作

    amazon-web-services - 使用 Redshift Spectrum 的步骤是什么?

    POSTGRESQL 无法比较空列