Modelos

Trata-se de modelos de sala limpa JinjaSQL que podem ser executados por colaboradores especificados. Qualquer colaborador pode compartilhar um modelo com colaboradores em uma colaboração. Você pode solicitar a adição ou remoção apenas de modelos que sua conta registrou.

Continue lendo para ver como registrar e adicionar um modelo a uma colaboração:

Registrar um modelo

Siga estas etapas para registrar um modelo:

  1. Elabore um modelo para a colaboração e incorpore-o a uma especificação de modelo.

  2. Registre o modelo chamando REGISTER_TEMPLATE. Isso retorna um ID de modelo que você usará para vincular o modelo.

Após o modelo ser registrado, ele pode ser vinculado a uma colaboração por qualquer pessoa que tenha acesso de leitura a esse registro.

Adicionar um modelo

O processo para solicitar a adição de um modelo depende da existência da colaboração.

  • Para adicionar um modelo antes da criação da colaboração, forneça o ID do modelo ao proprietário da colaboração, que o incluirá na especificação de colaboração, especificando quem pode executar o modelo. No snippet de colaboração a seguir, alice recebe acesso para executar o modelo bob_template_v1.

    ...
    analysis_runners:
      alice:
        templates:
        - id: bob_template_v1
    ...
    
  • Para adicionar um modelo a uma colaboração existente, envie uma solicitação a todos os possíveis colaboradores seguindo estas etapas:

    1. Chame ADD_TEMPLATE_REQUEST com o ID do modelo para iniciar o fluxo de aprovação para adicionar o modelo a uma colaboração específica, para usuários designados.

      Todos os colaboradores afetados pelo modelo veem a solicitação ao chamar VIEW_UPDATE_REQUESTS.

    2. Os colaboradores que veem a solicitação com status PENDING_MY_APPROVAL devem chamar APPROVE_UPDATE_REQUEST ou REJECT_UPDATE_REQUEST.

      • Se algum colaborador rejeitar a solicitação, a solicitação de atualização será rejeitada.

      • Os colaboradores não podem alterar posteriormente uma aprovação para uma rejeição ou vice-versa.

      • O modelo não será compartilhado até que todas as partes solicitadas aprovem a solicitação.

      • Os colaboradores não podem mais tarde mudar uma aprovação para rejeição, ou vice-versa.

      • Depois que você aprovar, o status mudará para PENDING_PARTNER_APPROVAL se os outros colaboradores ainda precisarem aprovar.

    3. Quando todos os colaboradores necessários tiverem aprovado, o status mudará para APPROVED e a atualização será aplicada automaticamente. Os status do terminal para uma solicitação de atualização são COMPLETED e FAILED. Quando o status da solicitação é COMPLETED, o modelo está disponível para os usuários especificados na solicitação de adição de modelo. Se a solicitação for FAILED, consulte a coluna DETAILS em VIEW_UPDATE_REQUESTS para ver os detalhes da falha. Se algum colaborador rejeitar a solicitação, o status será REJECTED, e qualquer motivo fornecido pela parte que a rejeitou ficará visível no relatório de solicitações.

    4. Pode haver um pequeno atraso para um modelo ficar disponível depois de ser aprovado por todos os usuários. Chame VIEW_TEMPLATES para confirmar que o modelo está disponível para uso.

Dica

Para ver quais modelos você registrou, chame VIEW_REGISTERED_TEMPLATES.

Consulte Execute uma análise para aprender como executar uma análise.

Design do modelo

Os modelos de colaboração são iguais aos modelos de sala limpa de provedor e consumidor, com algumas considerações especiais:

  • A variável source_table ​​do modelo é preenchida com as ofertas de dados da colaboração. Na maioria dos modelos de colaboração, source_table é a única variável de fonte de dados utilizada.

  • my_table ​​do modelo é utilizada somente quando um executor de análise está usando o Snowflake Standard Edition e não pode contribuir com ofertas de dados para uma colaboração.

  • As colunas das fontes de dados originais podem ser renomeadas quando expostas ao modelo ou ao usuário. Consulte Renomeação da coluna de origem para saber como e quando as colunas de origem são renomeadas. Modelos e argumentos fornecidos pelo usuário (como um nome de coluna de junção) deverão usar o nome final, não o nome original, se a coluna for renomeada.

  • Os modelos de ativação em uma colaboração não precisam ser nomeados activation_<template_name>. Todos os outros requisitos de modelo de ativação permanecem aplicáveis.

Para obter informações sobre a sintaxe de modelo personalizada no Snowflake Data Clean Rooms, consulte Criar modelos personalizados.