はじめに
こんにちは!池田です。
12月も中旬に入ってきてだいぶ冷え込んできましたね。
体調には気を付けたいと思う今日この頃でございます。
今回は、Alteryxのクラウド製品であるAlteryx Analytics Cloudの
Designer CloudとPlansを使って、
データ接続からデータ加工、アップロード、スケジュール実行までを
簡単ではありますが試してみましたので、それについて書いていきたいと思います。
それでは、さっそく行ってみましょう!
使用するデータについて
今回はSnowflakeに接続し、使うデータを取ってきたいと思います。
下図のように、SnowflakeのSALESデータベースのPUBLICスキーマ下にある
「Sales」と「Customers」というテーブルに入っているデータを取得し、
加工していきたいと思っています。
Alteryx Analytics CloudのSnowflake接続設定
Alteryx Analytics Cloudにサインインすると、以下のようなページが出てくるので、
「Create a Data Connection」のConnectボタンをクリックします。
クリックすると接続可能先一覧が出てくるので、Snowflakeを選びます。
そうすると、以下のような接続設定の画面が出てくるので、適切な情報を入力し設定します。
以下、各設定の詳細です。必須項目のみに絞って説明します。
Connection Name:接続名(ご自身でつけたい名前を付けてください)
Account Name:Snowflakeのアカウント名(※少し注意が必要なので後に別記します)
Warehouse:使用するSnowflakeのウェアハウス
Database:接続したいSnowflakeのデータベース名
Credential Type:認証方法(※BasicとOAuth2.0が選択可能ですが、Basicでよいと思います)
Username / Password:ご自身のSnowflakeのユーザ名とパスワード
※Snowflakeのアカウント名について
こちらですが、SnowflakeにTOP画面の左下のアカウント情報のところから確認できます。
以下の図で、Copy account identifierというところをクリックすると情報が取れるので、
それをコピーして貼り付けてください。
そうすると、(Organization).(Account Name)となっているので、
真ん中のピリオド(.)をハイフン(-)に変換してあげればOKです。
これで無事Snowflakeとの接続設定は完了です。
続いてデータの読み込みと簡単な加工を行い、加工したデータをSnowflakeにアップロードしていきましょう。
データの読み込みとデータ加工
接続設定が終わったので、Alteryx Designer Cloudでデータ処理のフローを作っていきたいと思います。
Designer CloudはAlteryx Designer Desktopのクラウド版になるわけですが、
製品紹介ページのリンクを貼っておきますので、詳しい説明はそちらをご参照ください。
https://www.alteryx.com/ja/products/designer-cloud
データの読み込み
まずは、データの読み込みですね。
デスクトップ版と同様に、Input Dataツールをドラッグ&ドロップします。
すると、右上のほうにConnect to Dataと出るので、こちらをクリックします。
別タブで以下の画面が出てくるので、Impore Dataボタンをクリックします。
先ほど作成したSnowflakeのスキーマ情報が出てくるので、使用する方をクリックします。
今回はPUBLICスキーマに入っているテーブルを両方とも使います。
テーブル名の左側の+ボタンを押すと読み込みが始まるので、終わるまで待ち、
読み込みが終わったら画面右下の方にあるContinueボタンを押します。
これでテーブルの読み込みができたので、Designer Cloudのフローのタブに戻ります。
すると、右側に先ほど読み込んだテーブルのリストが表示されているので、
使用したいテーブルを選択します。
以下のような形で無事データが取り込めているのが確認できました。
データ加工
今回のメインどころではないので、詳しくは触れませんが、
簡単なデータ加工であれば、現在使用可能なツールで実施することは可能です。
今回はORDERSとCUSTOMERSのテーブルから購入頻度と購入金額が大きいユーザを抽出しました。
デスクトップ版と同様にアノテーションを付けたり、コンテナで括ったりして処理を見やすくすることができます。
加工が終わったので、加工済みデータをSnowflakeにアップロードしていきたいと思います。
加工済みデータをSnowflakeにアップロード
出力は以下の図のように、必要な情報だけ入れれば簡単に設定できます。
TABLE_OPTIONS:新規で作成する(Create New)か既存のテーブルに上書きする(Iverwrite Exsiting)かを選択します。
Table Name:お好きなテーブル名を入力します。
SELECT SCHEMA FOR TABLE:テーブルを作成するスキーマを選択します。
上図のcontinueを押すと、以下のような画面に遷移するので、
Output Actions on Every Runでワークフローを実行するごとに出力をどのように処理するか選択します。
処理方法を決めたらその下のSaveボタンをクリックします。
設定が完了したので、とりあえず1回手動実行をしてみます。
Run Jobをクリックし、ワークフローを実行します。
Run Jobの隣にある▽ボタンを押すと、どのリソースを使ってジョブを実行するか選択できます。
ジョブを実行した後Snowflakeを見に行くと、無事テーブルが作成されていることが確認できました。
手動実行はできたので、最後にスケジュール実行の設定もしてみたいと思います。
Plansのスケジュール実行を試してみる
Plansとは
Alteryx Analytics Cloudに入っているPlansとは作成したワークフローを自動実行したり、
順番を決めて実行させたりすることができるツールです。
https://www.alteryx.com/ja/platform-services/plans
複数の処理を条件分岐させるなどして連続に動作させることが可能ですが、
今回は先ほど作成したワークフローを単一でスケジュール実行させてみたいと思います。
Plansのスケジュール設定
Launchで立ち上げると、以下のような画面に遷移します。
左側に実行できるタスクについて記載があります。
今回は一番上のDesigner Cloudで作成したワークフローの実行を実施していきます。
ドラッグ&ドロップすると、右側にDesigner Cloudで作成したワークフローの一覧が出てきます。
今回は先ほど作成した「Snowflake_Connect_test」を選択します。
選択後、画面右上のScheduleボタンを押すと、TriggersのところにCreate Scheduleが出てくるのでクリックします。
そうすると、スケジュール名、タイムゾーン、頻度を選択/入力する画面が出てくるので、
適当に設定を行い、Saveボタンをクリックします。
最後にワークフローが走った際のメール通知を設定します。
画面右上Shareの右側のボタンから、その中にあるEmail notificationをクリックします。
一番上のボタンでは、作成したスケジュールで処理が走った際にメールで通知を受けるかどうか選ぶことができます。
Addボタンでは通知を受け取るユーザを追加できます。
その下のTriggersでは、どの条件でメール通知を受け取るかを設定できます。
ちなみに、どういう条件でメール通知を受け取るかについては、
Addボタンで追加したユーザに対して個別で設定できるので、便利だなと思いました。
メール通知について
さきほど設定したスケジュールが無事実行され、通知が来るのか確認します。
毎日朝9時に実行し、ワークフローが正常に実行されたらメールを飛ばす設定しました。
翌朝確認すると、、、
無事届いておりました。
開始時間、終了時間、実行にかかった時間も記載されており、わかりやすいですね。
いいなと思った部分と改善してほしい部分について
〇いいなと思った部分
Designer Cloudについては、Desktop版同様に直感的に触りやすいUIなので、ワークフローを作りやすかったです。
また、Snowflakeなどデータ基盤との接続も容易ですぐに使えるようになるので、
ユーザ側の負荷は非常に小さいことはとても嬉しいことだなと思います。
Plansについても同様で、スケジュール設定や変更が非常に簡単であることや、
スケジュール実行した際に条件に応じて通知が来るのは、運用管理する側にとっても有難い機能かなと思います。
また、今回は実施してませんが、複数フローの連続処理などの設定がDesignerと同じようなUIでできるのも嬉しいです。
▲より良くなるといいなと思った部分
Designer Cloudについては、やはりデータ処理のツールの数でしょうか。
現状Desktop版に比べて非常に少ないので、ここをDesktop版に近い形で触れるようになると
データ加工の面で使いやすくなり、もっと楽しくなるのではと考えています。
さいごに
いかがでしたでしょうか。
まだあまり馴染みのないAlteryx Analytics Cloudですが、今回Designer CloudとPlansを少し触ってみて、
操作性のよさなど良い部分も多く感じ取ることができました。
ツールの少なさ問題はそのうち解消すると思っているので、
改善点してほしい部分については今後に期待したいです。
今後も少しずつですが、触った感想や情報のアップデートがあればお伝えしていきたいと思います。
最後までご覧いただきありがとうございました!