Snowpark Migration Accelerator:移行ラボ

[これはSnowflakeクイックスタートで利用できる Snowflakeエンドツーエンド移行クイックスタート の一部でもあることに注意してください。]

データウェアハウスのロジックとデータを移行することは、新しいプラットフォームで運用可能なデータベースを手に入れるために不可欠です。しかし、新しいプラットフォームを機能的に活用するためには、そのデータプラットフォームからデータを出し入れするパイプラインも再指定または再プラットフォーム化する必要があります。通常、さまざまなパイプラインが使用されているため、これはしばしば困難な場合があります。このHoLでは、Snowflakeがアクセラレーションを提供することができる1つに焦点を当てます。しかし、新しいETLとパイプラインアクセラレーターが常に開発されていることに注意してください。

このシナリオで動かすパイプラインとノートブックについて説明します。注意点として、これはSQL Serverデータベースの移行ですが、概念実証がスコープです。SQL Serverの小さなデータマートが、AdventureWorksによってSnowflakeに移行されました。基本的なパイプラインスクリプトとレポートノートブックがあり、AdventureWorksはこのPOCの一部として含まれています。以下は、各アーティファクトの概要です。

  • パイプラインスクリプトはSparkを使ってPythonで書かれています。このスクリプトは、オーケストレーションツールが定期的に実行するローカルディレクトリの古いPOSシステムによって生成されたアクセス可能なファイルを読みます。(Airflowのようなものですが、オーケストレーションはPOCの一部ではないので、それが何なのかは完全にはわかりません)

  • このノートブックは、既存のSQL Serverデータベースから読み取り、いくつかのサマリーメトリクスをレポートするレポートノートブックです

どちらもそれほど複雑ではありませんが、氷山の一角にすぎません。他のデータマートに関連するパイプラインスクリプトやノートブックは、さらに何百もあります。このPOCは、この2つを動かすだけです。

いずれもSparkを使用し、SQL Serverデータベースにアクセスします。そのため、目標は、基本的にSparkでのオペレーションをSnowparkに移すことです。Snowpark Migration Accelerator(SMA) を使用して、どうするか確認しましょう。SMAはSnowConvertの姉妹ツールであり、同じ基盤の上に構築されています。これから多くのステップ(そのほとんどは、SnowConvertで行ったことと似ている)を歩むことになりますが、基本的には、すでに行ったのと同じ評価、変換、、検証の流れで作業していることに注意してください。

このラボ環境に関する注意事項

このラボでは、Snowpark Migration AcceleratorとSnowflake VS Code拡張機能を使用します。しかし、これを最大限に活用するには、PythonをPySparkで実行する必要があります。これを開始する最も簡単な方法は、 anacondaディストリビューション で環境を開始することです。これには、このラボのコードを実行するのに必要なパッケージのほとんどが含まれています。

それでも、以下のリソースを利用できるようにする必要があります。

とはいえ、Snowflakeアカウント、SMA、Snowflake VS Code拡張機能だけでこのラボを実行することは可能です。すべて(特にソースコード)を実行することはできませんが、変換されたすべての要素をSnowflakeで使用することができます。

では、今あるものを評価することから始めましょう。