Snowpark Migration Accelerator: Laboratório de migração

[Observe que isso também faz parte do Guia de início rápido de migração de ponta a ponta do Snowflake disponível nos guias de início rápido do Snowflake.]

Mover a lógica e os dados em um data warehouse é essencial para obter um banco de dados operacional em uma nova plataforma. Mas, para aproveitar a nova plataforma de forma funcional, todos os pipelines em execução que movam dados para dentro ou para fora dessa plataforma de dados também precisam ser redirecionados ou replataformados. Isso geralmente pode ser um desafio, pois normalmente há uma variedade de pipelines sendo utilizados. Este HoL se concentrará em apenas um para o qual o Snowflake pode fornecer alguma aceleração. Mas observe que novos ETLs e aceleradores de pipeline estão sendo constantemente desenvolvidos.

Vamos falar sobre o pipeline e o notebook que estamos movendo neste cenário. Como lembrete, esta é uma migração de banco de dados do SQL Server, mas com escopo de prova de conceito. Um pequeno data mart no SQL Server foi migrado pelo AdventureWorks para o Snowflake. Há um script de pipeline básico e um notebook de relatórios que o AdventureWorks incluiu como parte deste POC. Aqui está um resumo de cada artefato:

  • O script do pipeline foi escrito em Python usando Spark. Este script lê um arquivo acessível gerado por um sistema POS mais antigo em um diretório local em intervalos regulares, executado por uma ferramenta de orquestração. Algo como o Airflow, mas a orquestração não faz parte do POC, então não temos 100% de certeza do que seja.

  • O notebook é um notebook de relatórios que lê do banco de dados existente do SQL Server e gera relatórios com algumas métricas resumidas.

Nenhum deles é muito complexo, mas ambos são apenas a ponta do iceberg. Existem centenas de outros scripts de pipeline e notebooks relacionados a outros data marts. Este POC apenas moverá estes dois.

Ambos usam o Spark e acessam o banco de dados do SQL Server. Portanto, nosso objetivo é essencialmente mover as operações do Spark para o Snowpark. Vamos ver como faríamos isso usando o Snowpark Migration Accelerator (SMA). O SMA é uma ferramenta complementar ao SnowConvert e é construída sobre a mesma base. Vamos percorrer várias etapas (a maioria das quais será semelhante ao que fizemos com o SnowConvert), mas observe que ainda estamos essencialmente trabalhando com o mesmo fluxo de avaliação -> conversão -> validação que já percorremos.

Notas sobre este ambiente de laboratório

Este laboratório usa o Snowpark Migration Accelerator e a extensão Snowflake VS Code Mas para aproveitar ao máximo, você precisará executar o Python com um PySpark. A maneira mais simples de começar seria iniciar um ambiente com a distribuição Anaconda. Isso incluirá a maioria dos pacotes necessários para executar o código neste laboratório.

Você ainda precisará disponibilizar os seguintes recursos:

Dito isso, você ainda pode executar este laboratório apenas com uma conta Snowflake, o SMA e a extensão Snowflake VS Code Você não poderá executar tudo (principalmente o código-fonte), mas poderá usar todos os elementos convertidos no Snowflake.

Agora, vamos começar avaliando o que temos.