Snowpark Migration Accelerator : Laboratoire de migration

[Notez que cela fait également partie du Démarrage rapide de la migration de bout en bout de Snowflake disponible dans les démarrages rapides de Snowflake.]

Il est essentiel de déplacer la logique et les données dans un entrepôt de données pour obtenir une base de données opérationnelle sur une nouvelle plateforme. Mais pour tirer parti de la nouvelle plateforme de manière fonctionnelle, tous les pipelines utilisant des données mobiles dans ou hors de cette plateforme de données doivent également être renommés ou dirigés vers une nouvelle plateforme. Cela peut souvent être difficile, car il existe généralement un grand nombre de pipelines utilisés. Ce HoL se concentrera sur un seul d’entre eux que Snowflake peut accélérer. Notez toutefois que de nouveaux processus ETL et accélérateurs de pipelines sont constamment en cours de développement.#x20;

Parlons du pipeline et du notebook que nous déplaçons dans ce scénario. Rappel : il s’agit d’une migration de base de données de serveur SQL, mais limitée à une preuve de concept. Un petit datamart dans le serveur SQL a été déplacé par AdventureWorks vers Snowflake. Il existe un script de pipeline de base et un notebook de rapports que AdventureWorks a inclus dans cette POC. Voici un résumé de chaque artefact :#x20;

  • Le script du pipeline est écrit en Python en utilisant Spark. Ce script lit un fichier accessible généré par un ancien système POS dans un répertoire local à intervalles réguliers exécuté par un outil d’orchestration. (Quelque chose comme Airflow, mais l’orchestration ne fait pas partie de la POC, nous ne sommes donc pas totalement sûrs de ce que c’est.)#x20;

  • Le notebook est un notebook de rapports qui lit à partir de la base de données et des rapports existants du serveur SQL sur quelques métriques sommaires.

Aucun de ces éléments n’est trop complexe, mais ils ne sont que la partie émergée de l’iceberg. Il existe des centaines d’autres scripts et notebooks de pipelines liés à d’autres Datamarts. Cette POC les déplacera simplement.

Ils utilisent Spark et accèdent à la base de données du serveur SQL. Notre objectif est donc essentiellement de déplacer les opérations de Spark vers Snowpark. Voyons comment nous procéderions avec [Snowpark Migration Accelerator (SMA)] (https://www.snowflake.com/en/migrate-to-the-cloud/migration-accelerator/). SMA est un outil parent de SnowConvert et est construit sur la même base. Nous allons parcourir de nombreuses étapes (dont la plupart seront similaires à ce que nous avons fait avec SnowConvert), mais notez que nous travaillons toujours essentiellement sur le même flux d’évaluation -> conversion -> validation que nous avons déjà rencontré.

Notes sur cet environnement d’atelier

Cet atelier utilise Snowpark Migration Accelerator et l’extension Snowflake VS Code. Mais pour en tirer le meilleur parti, vous devrez exécuter Python avec un PySpark. La façon la plus simple de commencer serait de démarrer un environnement avec la distribution anaconda. Celle-ci disposera de la plupart des paquets nécessaires à l’exécution du code dans cet atelier.

Vous devrez aussi voir accès aux ressources suivantes :

Ceci étant dit, vous pouvez toujours exécuter cet atelier avec un simple compte Snowflake, SMA, et l’extension Snowflake VS Code. Vous ne pourrez pas tout exécuter (en particulier, le code source), mais vous pourrez utiliser tous les éléments convertis dans Snowflake.

Commençons par évaluer ce que nous avons.