Alteryx Snowflake Starter Kitで学ぶデータ分析の手がかり

2021.02.04

こんにちは、データアナリティクス事業本部ソリューション部プリセールススペシャリストの兼本です。

20201年1月にAlteryxが提供するワークフローテンプレート「Starter Kit」にSnowflakeが仲間入りしました。

このエントリでは、Snowflake Starter Kitで何ができるのかをご紹介します。

Starter Kitのダウンロードとインストール

Snowflake Starter Kitは上述のAlteryx社Webページからダウンロードできます。またStarter Kitを利用するにはAlteryx Designerが必要ですので、ライセンスをお持ちでない場合はAlteryxのトライアル版をお試しください。

Starter Kitのインストールは簡単で、ダウンロードしたexeファイルを実行してウィザードの手順に従うだけです。

Starter Kitの利用

Starter KitをインストールするとAlteryx Designerにサンプルワークフローが追加されます。Alteryx Designerを起動して、メニューから「ヘルプ>サンプルワークフロー>Snowflake Starter Kit」を選択すると、5つのワークフローが追加されていることを確認できます。

以下、それぞれのワークフローで実現していること、実行するうえでの注意事項についてご紹介します。

01 Table of Contents

このワークフローでは、Snowflakeの概要、トライアルの始め方、事前に行うべきODBCの設定方法などについて説明をしています。ワークフロー下部にはSnowflakeのODBCやDSN設定に関するレクチャー動画(英語)もありますので、設定方法が不明な場合は視聴をおすすめします。

Load Data for Lifetime Value with Snowflake In-DB Processing

デモ用のデータをSnowflakeにロードするワークフローです。このワークフローは分析アプリとして構成されており、分析アプリとして実行するとSnowflake Starter Kitに含まれる2つのCSVファイルをSnowflakeのテーブルにインサートする処理を実行されます。

なお、本ワークフローでは、データアップロード処理に(なぜか)Pythonツールを使用しており、初回ワークフロー実行時にPython用のSnowflakeコネクタパッケージをAlteryx Designerインストールディレクトリ配下

C:\Program Files\Alteryx\bin\Miniconda3\envs\JupyterTool_vEnv\Lib\site-packages

にインストールします。

もし、ワークフロー実行時にPythonツールでSnowflake Connectorが見つからない旨を示すエラーが発生した場合、Snowflake Connectorパッケージのインストール権限がない可能性があります。この場合は初回ワークフロー実行時にAlteryx Designerを管理者として実行することで解決します。また、本ワークフローではターゲットのSnowflakeデータベースとして「demo_db」を、スキーマとして「public」を使用する前提になっていますので、該当のデータベースとスキーマが存在しない場合は事前に用意してください。

分析アプリとしてワークフローを実行するとSnowflakeへの接続に必要な情報を指定するダイアログが表示されます。

必要事項を入力して「終了」ボタンを押下するとワークフローが実行されます。処理が成功するとSnowflakeのdemo_dbデータベースに「customersales」と「newcustomers」の2つのテーブルが作成されます。

Lifetime Value with Snowflake In-DB Processing

次のサンプルでは、

  1. 先ほど作成したテーブルのデータをSnowflake上でジョインして計算処理
  2. 作成したデータをAlteryxにダウンロードしてピボット化し、欠損値を補完
  3. データを新規顧客と既存顧客に分類し、既存顧客データのプロファイルをもとに予測分析
  4. 新規顧客に対して作成したモデルで評価し、分析結果をSnowflakeにアップロード

という処理をノーコードで実現しています。

Alteryxを使用すると、本来であればPythonやRのようなプログラミング言語に関する知識に加えて、SQLの知識が必要となるような複雑な処理をひとつのツールでノーコードで実現することも可能です。

こちらのサンプルワークフローを実行するにあたっては、ワークフロー左側にある2つのIn-DB接続ツールの接続設定と、右側にあるデータ出力のSnowflake Bulk Loaderの設定をお使いの環境に合わせてセットアップする必要があります。

  • In-DB接続ツールの設定例

  • データ出力ツールの設定例

ステージングメソッドは、ローカル>ユーザステージを選択します。

Customer Segmentation with Snowflake In-DB Processing

3つ目のワークフローでは、Snowflakeが提供しているサンプルデータベース「SNOWFLAKE_SAMPLE_DATA.TPCH_SF1」を使用した例を示しています。 このワークフローでは、

  1. ORDERテーブルとCUSTOMERテーブルをジョインして結果をAlteryxにダウンロード
  2. 注文回数と注文金額の合計の2つの指標で顧客をタイル
  3. 結果をSnowflakeにアップロード

という処理をやはりノーコードで実現しています。

こちらのワークフローに関しても実行する前にワークフロー左側にある2つのIn-DB接続ツールの接続設定と、右側にあるデータ出力のSnowflake Bulk Loaderの設定をお使いの環境に合わせてセットアップする必要がありますので、ご注意ください。

Install SnowSQL

最後のサンプルワークフローは、分析アプリとして作成されており、分析アプリとして実行するとSnowflakeのCLIツールとなるSnowSQLをダウンロードしてインストールします。(実際にはインストーラを起動するところまで) こちらはSnowflakeとの連携というよりも、ワークフローの作りとして参考になるかと思いますので、興味のある方はワークフローの実装内容を紐解いてみてください。

まとめ

AlteryxのSnowflake Starter Kitについてご紹介いたしました。SnowflakeとAlteryxで実現するデータ分析の可能性を感じていただけるのではないかと思います。どちらの製品もトライアル可能ですので、興味をお持ちいただけるようであればお問い合わせを頂ければ幸いです。

以上、最後までお付き合いいただきありがとうございました。