Snowflake configuração da linhagem

Para importar metadados de linhagem de Snowflake, crie uma conexão, uma definição de fonte de dados e um trabalho de importação de metadados.

Snowflake é uma plataforma de gerenciamento de dados baseada na nuvem que oferece às empresas uma arquitetura flexível e escalável para uma colaboração eficaz em torno dos dados.

Metadados processados

Os seguintes metadados do Snowflake são processados e exibidos no lineage:

  • Dicionários de dados
  • Scripts
  • Visualizações
  • Funções
  • Tabelas externas
  • Procedimentos

Limitações

As limitações a seguir se aplicam:

  • Os seguintes dados não são processados:
    • Snowpark (Java, Scala, Python )
    • Procedimentos de JavaScript no ` Snowflake `
    • Funções definidas pelo usuário (UDFs) em Java, Python, JavaScript
    • UDFs seguras
    • Recursos que utilizam código executado dinamicamente por meio da instrução 'EXECUTE IMMEDIATE'.
    • Recursos introduzidos ou alterados recentemente e alguns recursos que raramente são utilizados.
    • Extração de tarefas não executadas
    • Histórico das tabelas criadas usando CREATE TABLE ... AS SELECT ..., já que o DDL não está disponível no ` Snowflake `.
    • Gráficos e painéis do Lineage to Snowsight
    • Sintaxe da função de janela com instruções como SUM(...) OVER (PARTITION BY ... [ORDER BY] ...)
  • As tarefas são extraídas de TASK_HISTORY em ambos os modos de extração, uma vez que o Snowflake, atualmente, não oferece visualizações adequadas para extrair tarefas definidas.
    • No INFORMATION_SCHEMA modo, TASK_HISTORY exibe a atividade da tarefa nos últimos sete dias ou a próxima execução programada nos próximos oito dias. A lista é limitada a 10.000 registros, exibindo as execuções com a data e hora mais recentes.
    • No ACCOUNT_USAGE modo, TASK_HISTORY exibe o histórico de uso da tarefa nos últimos 365 dias.
  • Snowflake O scanner não utiliza os conectores do truststore. Na maioria dos casos, não é necessária nenhuma configuração adicional, pois os certificados do ` Snowflake ` geralmente são assinados por autoridades certificadoras raiz e intermediárias que já estão incluídas no armazenamento de confiança padrão do Java. Se for necessário um certificado personalizado, ele deve ser importado para o armazenamento de certificados padrão do Java. Para obter instruções, consulte Importação de certificados para o armazenamento de confiança padrão do Java.
  • Os fluxos são extraídos utilizando SHOW STREAMS em ambos os modos de extração, uma vez que o ` Snowflake ` atualmente não oferece visualizações adequadas para extrair fluxos definidos. Isso limita o número de fluxos extraídos a 10.000 por esquema.

Configuração prévia

Antes de importar metadados de linhagem, certifique-se de que os seguintes pré-requisitos estejam atendidos:

  • Você tem permissão para acessar todos os endereços, conforme descrito na seção “Permitir nomes de host” da documentação do Snowflake.
  • Existe uma conta Snowflake, que é a conta de root representativa de um servidor fornecido por Snowflake.
  • Você tem uma função de usuário atribuída com os privilégios adequados, de acordo com o modo de extração que pretende utilizar:

    • Modo INFORMATION_SCHEMA Para cada banco de dados incluído na extração, a função do usuário deve ter os seguintes privilégios:
      • USAGE na base de dados extraída
      • USAGE em cada esquema extraído dentro do banco de dados extraído
      • SELECTPelo menos um privilégio, por exemplo, em cada objeto extraído do ` Snowflake `, como uma tabela, uma visualização ou um procedimento.
      • MONITOR EXECUTION para permitir a extração de informações sobre tarefas de TASK_HISTORY

    • Modo ACCOUNT_USAGE: a função do usuário deve incluir IMPORTED PRIVILEGES acesso ao banco de dados Snowflake, que contém o ACCOUNT_USAGE esquema.
      Para conceder esse privilégio, execute GRANT IMPORTED PRIVILEGES ON DATABASE SNOWFLAKE TO <role>.
    • Extração de fluxos (opcional)
      Para habilitar a extração de fluxos, a função do usuário também deve ter os seguintes privilégios:
      • USAGE na base de dados extraída
      • USAGE em cada esquema extraído do banco de dados
      • Pelo menos um privilégio, por exemplo, SELECT em cada fluxo extraído

Criação de um recurso de importação de metadados

Conexão da origem de dados

Para se conectar à fonte de dados da qual você deseja importar metadados de linhagem, é necessário selecionar uma definição de fonte de dados e uma conexão. Você pode criá-los antes de iniciar a importação de metadados ou ao criar e configurar o recurso de importação de metadados.

Definição de origem de dados

Selecione “ Snowflake ” como tipo de fonte de dados.

Conexão

Para obter detalhes sobre a conexão, consulte a conexão Snowflake.

Listas de inclusão e exclusão

É possível incluir ou excluir ativos até o nível do esquema. Forneça bancos de dados e esquemas no formato banco de dados/esquema. Cada parte é avaliada como uma expressão regular. Os ativos que forem incluídos posteriormente na origem de dados também serão incluídos ou excluídos se corresponderem às condições especificadas nas listas. Valores de exemplo:

  • myDB/: todos os esquemas no banco de dados myDB .
  • myDB2/.*: todos os esquemas no banco de dados myDB2 .
  • myDB3/mySchema1: mySchema1 schema do banco de dados myDB3 .
  • myDB4/mySchema[1-5]em meu banco de dados myDB4 , posso dizer: qualquer esquema com um nome que comece com mySchema e termine com um dígito entre 1 e 5.

Entradas externas

Se você usar scripts SQL Snowflake externos, poderá adicioná-los em um arquivo.zip como uma entrada externa. É possível organizar a estrutura de um arquivo .zip como subpastas que representam bancos de dados e esquemas. Depois que os scripts são verificados, eles são incluídos nos respectivos bancos de dados e esquemas no catálogo ou projeto selecionado. O arquivo.zip pode ter a seguinte estrutura:

    <database_name>
        <schema_name>
           <script_name.sql>
    <database_name>
        <script_name.sql>
    <script_name.sql>
    replace.csv

O arquivo replace.csv contém substituições de espaço reservado para os scripts que são adicionados no arquivo.zip. Para obter mais informações sobre o formato, consulte Substituições de espaço reservado.

Opções de importação avançadas

Extração de estágios de tabela
Você pode adicionar uma expressão regular para listar os estágios da tabela dos quais deseja que os arquivos preparados sejam extraídos. Use um nome completo e coloque cada segmento entre aspas duplas. Deixe o campo vazio se não quiser extrair arquivos preparados de nenhum estágio da tabela. Exemplo de valor:
\\\"mydb\\\"\\.\\\"schema1\\\"\\.\\\".*\\\"|\\\"mydb\\\"\\.\\\"myschema\\\"\\.\\\"abc.*\\\
Extração da lógica de transformação
Você pode ativar a criação de descrições de lógica de transformação a partir do código SQL em scripts SQL.

Saiba Mais