Snowflake導入時にテーブル定義移行/テーブル作成を効率的に行う方法とは?(vol.8)
- 公開日:
- 最終更新日:
Snowflake導入時、データ連携元のフォーマットに対応するテーブルやマート用/データ蓄積用など多くのテーブルを作成する場合、弊社ではテーブル定義の移行やテーブル作成のSQLをエクセルマクロで行うツールを使用して行っております。
そこで本ブログ記事では、テーブル定義移行/テーブル作成におけるツールの有用性やツール使用時のポイントを解説します。
Snowflakeでテーブル定義移行/テーブル作成する際はツールを活用しよう!
Snowflakeの導入にあたり、データ連携元である既存データベースのテーブルやIFファイルの定義をもとにSnowflakeのRAWデータ用テーブルやマート用/データ蓄積用テーブルを作成する場合、作成するテーブル定義書やテーブルCreate文(DDL)が数百~千テーブル以上になることもあるかと思います。
このような場合、弊社ではExcelマクロを使用したツールを使用して、テーブル定義の移行やテーブルCreate文(DDL)の発行を行っております。
ツール自体は弊社が独自に作成したもので、Oracle DBやSQL Serverなどのデータベースのテーブル定義書をもとに、Excelマクロのプログラムを用いて、Snowflakeのテーブル定義書の作成や作成したテーブル定義書からテーブルCreate文のSQLを作成することが可能です。
このツールでテーブル定義の移行やテーブルCreate文(DDL)を発行することで、手作業が削減され、作業の効率化/平準化/作業工数の削減につながるほか、設計書の記載内容や記載位置の統一などが可能となります。そのため、数百を超えるテーブル定義をSnowflakeへ移行する際には、こういったツールを用いることが非常に有用と言えます。
Snowflakeのテーブル定義移行/テーブル作成でツールを使用するメリット
- データ連携元のテーブル定義書のフォーマットに合わせて、Excelマクロを修正するのみで、ほぼ、テーブル定義書を記載することなく、Snowflakeのテーブル定義書の作成やテーブルCreate文のSQLを作成することができます。
- 人によってテーブル定義書の項目のセルの位置や書き方が異なることがありますが、ツールを使用してテーブル定義書やテーブルCreate文の発行を行うことで、属人化することなく、品質の均一化を担保できます。
- 開発側は、手作業を極力削減できるようになり、品質の均一化や作業工数の削減できます。開発を依頼する側(お客さま)は、作業工数削減による開発費用/開発期間の削減が可能となります。
Snowflakeのテーブル定義移行/テーブル作成ツール 使用イメージ
それでは、実際にツールを用いてテーブル定義移行やテーブル作成(Create文(DDL)の発行)を行った場合の手順を解説します。
Snowflakeテーブル定義移行
- 移行元のテーブルやIFファイルの定義書を開きます。
- テーブル定義移行ツールのマクロプログラムを設定したSnowflakeのテーブル定義書を開き、開発タブにあるマクロをクリックします。
- マクロのTEIGI_COPYを選択し、実行ボタンを押します。
- マクロの実行後に、Snowflakeのテーブル定義書に、移行元のテーブル定義からマクロのプログラム内容に従い、テーブル定義情報が作成されます。
※1回の定義情報のコピー処理で、移行元のテーブルのシート分のテーブル定義情報を作成いたします。
SnowflakeテーブルCreate文(DDL)の発行
- Snowflakeのテーブル定義書に定義情報が記載されている状態で、開発タブにあるマクロをクリックします。
- マクロのCreate_DDLを選択し、実行ボタンを押します。
- ファイル出力先に定義情報に従い、DDL文が作成されます。
まとめ
今回ご紹介したツールはあくまで弊社がExcelマクロで作成したものですが、Snowflakeのテーブル定義移行/テーブル作成時には、ツールをご活用いただくことで、手作業で行う箇所を極力削減できるようになり、品質の統一化・向上、作業工数の削減が可能になることをご理解いただけたでしょうか?
弊社電通総研は、データマネジメントの専門家として、お客様のデータ一元管理やデータ活用における戦略策定、データドリブン経営の実現に向けた真の“使える”データマネジメント基盤構築のご支援をしております。
データ分析基盤の豊富な構築実績に基づくノウハウを体系化したサービスをご提供しておりますので、データ活用でお悩みの際は、是非、電通総研までお声掛けください。
◆ お問い合わせページ:https://itsol.dentsusoken.com/snowflake/inquiry/
*本記事は、2023年2月1日時点の情報を基に作成しています。
製品・サービスに関する詳しいお問い合わせは、電通総研のWebサイトからお問い合わせください。