前田晃嘉・BIエンジニアTableauSnowflakeを使い始めるマーケティングエンジニアの皆さん、こんにちは!ビッグデータの時代において、データを効果的に管理し分析することは、ビジネスにおける競争力を高める重要な要素です。その中でもSnowflakeは、クラウド上でのデータウェアハウスとして高い評価を受けています。Snowflakeを使い始める際には、データのスケジューリングや可視化ツールとの接続方法など、さまざまな課題に直面するかもしれません。この記事では初心者マーケティングエンジニアのために、Snowflake上でのデータマートの出力方法から、スケジューリング、人気の可視化ツールであるTableauへの接続方法まで、一気通貫で解説します。Snowflakeを効果的に活用し、ビジネスの成果につなげるためのスキルを身につけましょう。はじめにSnowflakeの基本概念の復習Snowflakeは、クラウドベースのデータウェアハウスプラットフォームです。仮想データウェアハウスとして動作し、計算とストレージを分離しています。セキュリティ性に優れています。本稿はSnowflakeのトライアルアカウントを使用して進めて行きます。ツールをお持ちでない場合、SnowflakeとTableauそれぞれ下記リンク先に沿ってトライアル環境を整備いただけます。トライアル版Snowflakeでのデータマートの作成データマート作成の前にトライアル環境には今回の検証に使えるデータベースが存在しません。データマート作成の前に、トライアル環境内に「TEST」というデータベースを作成します。TABLE」という命令文でテーブルを作成します。ここではサンプルとして日付カレンダーテーブル(CALENDAR)をTEST配下のPUBLICスキーマに作成してみます。;テーブルの作成が成功すると結果に「テーブルが正常に作成されました」と表示されます。PUBLIC配下に「CALENDAR」というテーブルが作成されていることが確認できます。これでテーブルは完成です。データマート更新・処理のスケジューリングデータマートの構築が完了したら、次は定期的なデータ更新や処理のスケジューリングが重要です。スケジューリングを行うことで、データマートの内容が常に最新であり、分析やレポート作成に使用するデータの正確性を保つことができます。以下では、スケジューリングの重要性や利点、そしてSnowflakeでのスケジューリング方法について説明します。下記の利点を活用することで、データマートのスケジューリングプロセスを効果的に管理し、ビジネスの意思決定に必要な、正確で最新のデータを提供できます。定期的なスケジュールに基づいてデータの更新や再処理を行うことで、データマート内の情報が常に最新であることが保証されます。これにより、ユーザーは常に最新のデータを利用して意思決定を行うことができます。・自動化スケジューリングにより、手動でデータ更新や処理を行う手間が省けます。定期的なスケジュールに基づいて処理が自動的に実行されるため、ユーザーは定型的な作業から解放され、作業効率が向上します。人為的なエラーが減少し、データの品質が向上します。・リソースの最適化データの処理をオフピーク時にスケジュールすることで、システムリソースを効率的に活用できます。これにより、システムの負荷が分散され、処理時間が短縮されます。システム全体のパフォーマンスが向上し、ユーザー体験が向上します。Snowflakeでスケジューリングを設定する方法スケジュール実行するには”タスク”という機能を使用します。タスクはSQL文、ストアドプロシージャ、または外部スクリプトを実行するために使用されます。今回はSQL文によるタスクの作成・スケジュール方法を解説します。タスクの作成Snowflakeの管理者または権限を持つユーザーが、SnowflakeのコンソールやSQLインターフェイスを使用してタスクを作成します。タスクは必要なクエリやストアドプロシージャを含め、実行すべき内容を定義した宣言文を作成します。SQL文またはストアドプロシージャ名;実際にパート2で作成したSQL文を用いてタスクを設定してみましょう!下記タスク宣言文を実行します。))));実行を行うと「正常に作成されました。」という結果が返ってきます。これでタスクの作成は完了です。手順1でタスクの作成を行いましたが、これだけではスケジュール通り実行されません。TASKS」と記述し実行で確認してみます。すると作成したタスクのステータスが「suspended」となっていることがわかります。これはタスクが停止中になっていることを示します。RESUME」の実行が必要です。TASKS」でステータスを確認します。すると「started」に変わっていることがわかります。これでタスクのスケジュールが起動しました。タスク名;」を実行することで可能です。タスクの実行状況はデータベースタブからタスクの実行履歴で確認できます。定期的にタスクの実行ログや実行結果を監視し、問題が発生した場合には適切な対処を行います。必要に応じてタスクの再設定や修正を行い、スケジュールの正常な運用を確保します。TableauとSnowflakeを接続する方法ここからはTableauとSnowflakeの接続方法を説明します。Snowflakeコネクタの選択Tableauの接続画面を開き「サーバーへ」タブからSnowflakeを選択します。接続用のドライバーがインストールされてない場合は、下記リンクの手順に従いインストールが必要となります。認証に必要な情報の入力を行います(上画像3)。基本的にはSnowflakeコンソール画面左下のアカウント情報から各要素を確認できます。認証が完了すると「ウェアハウス」「スキーマ」「テーブル」の選択を行い抽出を行います。抽出が完了すればTableauでの接続は完了です。Snowflakeは実行時間に伴う従量課金制です。ダッシュボード上でのデータ参照のたびにコストが発生しますので、よほどのことがない限り抽出を選択しましょう。まとめ本記事では、Snowflake上でのデータマートの出力方法から、スケジューリング、Tableauへの接続方法まで、一気通貫で解説しました。スケジューリングはデータの最新化や作業の効率化といったメリットがあります。SnowflakeとTableauを組み合わせることで、リアルタイムなデータ分析や洞察の深化、効率的なレポート作成などのメリットを享受できます。本記事の内容が分析やレポーティング等でお忙しいマーケターの方々、Snowflakeを勉強中のエンジニアの方々、皆様の一助となりますと幸いです。弊社のTableauコンサルティングサービスでは、お客様のダッシュボードのご相談に対し、ヒアリング・要件整理からデータの設計・開発、ダッシュボード実装まで一貫してサポートいたします。お気軽にお問い合わせくださいませ。ここまで記事を読んでいただき本当に有難うございました。メーカーにてダッシュボード設計・開発を担当。