[レポート] AlteryxとSnowflakeでデータ分析とデータサイエンスをドライブさせる(Alteryx + Snowflake: Drive Analytic & Data Science Outcomes) #AlteryxInspire

SALTスタックがアツい
2021.05.27

大阪オフィスの玉井です。

日本時間の2021年5月19日~21日に、Alteryx Inspire 2021が開催されました。

当記事では、Alteryx Inspire 2021のセッションの中から、 Alteryx + Snowflake: Drive Analytic & Data Science Outcomesのレポートをお届けします。

概要

公式

概要

Alteryx and Snowflake make it easy to drive analytic & data science outcomes in the cloud with capabilities unique to each of these highly complementary platforms. In this session, you'll learn:

• How to supercharge your analytics workloads by unlocking the near-unlimited scale, concurrency, and performance of Snowflake with the Alteryx In-Database building blocks

• Where to use Alteryx In-Database building blocks in place of Standard building blocks to optimize your analytic workloads

• Insights on developing your analytic workloads to take advantage of the unique capabilities of each platform

ざっくり

SnowflakeとAlteryxを組み合わせたソリューションについて、デモと事例の紹介を行うセッションです。

登壇者

  • Stepehn Wagner
    • Sr. Product Manager, Technology Aliances

セッションレポート

※レポート本文のみ、一人称は登壇者を指します。

前段

今回は、Alteryxの分析プロセス自動化プラットフォームの収集方法を説明します。また、Snowflakeを利用することで、組織にとって重要な分析・データサイエンスの成果を促進できることを説明します。

私の名前はStepehn Wagner、Alteryx社のシニアプロダクトマネージャーです。Alteryx社に入社して5年ちょっとになります。私は、Snowflakeのような戦略的パートナーとの技術的関係を築くことで、Alteryxプラットフォームを拡張することに注力しています。その目的は、お客様の分析上の課題を解決するために、より大きな能力を提供することです。

本日のお話の中では、将来の見通しに関する記述がありますが、この将来の見通しに関する内容は(将来的に)変更される可能性があります。そのため、これらの記述に基づいて導入・購買を決定するのではなく、現在の製品に存在する機能に基づいて検討・決断してください。

AlteryxとSnowflakeを併用することで、非常に大きなビジネス成果をもたらすことができます。

ジュニパーネットワークス社のデータアナリストは、AlteryxとSnowflakeを併用することで、毎日のレポート作成にかかる時間を3時間短縮することができたと述べています。その結果、ビジネスリーダーは毎朝一番に重要なインサイトを確認できるようになりました。このようにして、非常に大きなビジネス上の成果を得ることができました。

データが組織にとってますます貴重な資産となっていることは広く認識されています。そのため、データは複数のシステムで大量に生成・収集され、粒度も大きくなっています。同時に、ユーザーはこれらのデータへのアクセスを求めています。ユーザーは、セルフサービスでインサイトを得て、インパクトのあるビジネス成果を生み出したいと考えています。

Alteryx社とSnowflake社が提供するテクノロジーは、これらの課題を解決します。Alteryx APIプラットフォームは、人間中心の統一されたプラットフォーム体験を企業に提供します。データ分析、データサイエンス、プロセスオートメーションへのアクセスを、単一のプラットフォームで自動化します。また、データクラウドを提供するSnowflakeがあります。これは、数千の企業がデータをほぼ無制限のスケールの同時実行性とパフォーマンスで動員するためのグローバルネットワークです。

今回のセッションでは、これらのプラットフォームに固有の機能を最大限に活用する方法をご紹介します。また、AlteryxとSnowflakeの両方を利用してビジネスに大きな成果をもたらした企業の例を簡単にご紹介します。

Snowflake × Alteryx

Snowflake × Alteryxのワークロードには、大きく分けて3つのカテゴリーがあります。1つ目はスタンダード、2つ目はin-Database、そしてオーケストレーションです。

スタンダード・ワークロードは、Alteryxユーザーなら誰でも知っているはずです。これらのワークロードは、Alteryxのあらゆる機能を、使いやすいノーコードのビルディングブロックで提供するものです。つまり、分析的なビジネス問題を解決する際に、簡単に反復する能力を提供します。スタンダード・ワークロードを使用する際に覚えておくべき重要な違いは、Snowflakeのデータが取得され、(Alteryx Designerが動作するマシンの)メモリ内で処理されるということです。

これを、in-Databaseのワークロードと比較してみましょう。in-Databaseのワークロードは、使いやすいAlteryx分析とSnowflakeの真の力を見ることができます。in-Databaseのワークロードは、データ処理をSnowflake側に押し込むことができます。これにより、Snowflakeのほぼ無制限のスケールの同時実行性とパフォーマンスが発揮されます。これにより、スタンダード・ワークロードと比較して、データ処理を大幅に高速化することができます。

3つ目のワークロードタイプはオーケストレーションです。オーケストレーション・ワークロードでは、Alteryxのローコード・ビルディングブロックを使用して、SnowSQLとPython用のSnowflakeコネクタを組み込むことができます。これにより、Snowflakeの全機能をAlteryxのワークロードに導入することができます。

以降、それぞれのワークロードをどのように使用できるかをデモし、さらに詳細を紹介していきたいと思います。

デモ

スタンダード

スタンダード・ワークロードでは、Alteryxの機能を最大限に活用することができます。レポーティング、空間分析、機械学習、予測分析、その他様々な分析のためのビルディングブロックを用いて、ノーコードのデータ分析を簡単に行うことができます。

この例では、インプットデータツールを使ってSnowflakeに接続しています。そして、そのデータを取り込みます。そして、予測したいトレーニングデータや未採点データを参照し、それらを取り込み、Assisted Modelingツールを使用します。このツールは、モデル構築のプロセスをガイドしてくれます。訓練を受けたデータサイエンティストでなくても、予測モデリングの技術には多少慣れているはずです。このツールは、モデル構築のプロセスをガイドしてくれるので、従来のトレーニングを受けていなくても、効果的なモデルをトレーニングすることができます。このツールに興味を持たれた方は、ぜひAlteryx Intelligence Suiteのアドオンをご検討ください。また、モデリングをシステム化する利点についても詳しく説明しています。

モデルを学習した後は、予測ツールを使って、学習データや予測したいデータに対してスコアリングを行います。そのデータを予測ツールに通し、さらに学習モデルにも通して、予測値を作成します。そして、ネイティブのバルクローディング機能を使って、それらをSnowflakeに出力することになります。そしてSnowflakeにロードして、そのデータを他の分析プロセスに使用することができます。

このように、標準的なワークフローの利点は、メモリ上で処理しているにもかかわらず、迅速な反復作業が可能で、使いやすいコードレスのビルディングブロックを使用して、Alteryxプラットフォームの機能をフルに活用できることです。

in-Database

in-Databaseのビルディングブロックは、データ処理をSnowflake内にプッシュダウンする機能を提供します。これにより、Snowflakeの無制限に近いスケールの同時実行パフォーマンスを最大限に活用することができます。ワークロード内でin-Databaseを使用することは、AlteryxとSnowflakeを併用することで最も大きなメリットを得ることができます。in-Databaseツールのカテゴリを見てみると、in-Databaseでのフィルタリング、数式の適用、データの結合、サンプル、データの要約などの機能があることがわかります。

このデモでは、Snowflakeでデータベースに接続し、OrdersテーブルとCustomerテーブルのプロセスデータを取得しています。そこで、CustomerやOrdersテーブルを取り出し、さまざまな特徴に基づいて要約します。つまり、顧客はいくら使ったのか?何件の注文があったか?平均注文総額はいくらだったのか?…そして、それらを顧客情報と結びつけます。そして、その情報を残りのワークフローに流し、メモリ内で処理を行います。

ここでは、タイルツールを使って、平均合計金額と注文数に基づいて顧客を動的にセグメント化し、数式ツールを使ってそれぞれのセグメントにラベルを付けます。そして、Snowflakeにバルクロードして、さらに分析できるようにします。

データベース内のワークロードで重要なのは、Snowflakeの処理能力を活用してワークロードの時間を大幅に短縮できることです。Alteryxを使ってSnowflakeのデータにアクセスしている場合は、in-Databaseツールの処理効率を利用することを強くお勧めします。

オーケストレーション

最後のワークロードタイプに移りますが、これは最も興味深いものでもあります。

オーケストレーション・ワークロードでは、Alteryxの拡張性が強調されています。つまり、ワークロードにコードを組み込むことができるのです。そして、Snowflakeの全ての機能をワークロードに組み込む能力を提供するローコード・ビルディングブロックです。

この最初の例では、Pythonツールと、Pythonライブラリ用のSnowflakeコネクタを組み合わせて、Snowflakeデータベース内に外部テーブルを動的に作成しています。そして、データを取り込み、そこからメタデータを取得し、動的なSQL文を作成し、生データを取得してS3バケットにアップロードしています。そして、Pythonツールを使用して、S3データを参照する外部テーブルを動的に作成しています。

次の例では、Run Commandツールを使ってSnowSQLを実行しています。SnowSQLには、様々なオーケストレーション機能や、データベースのデータを編集して追加する機能があります。ここでも、データを死なせてしまうようなデータを持ち込んでいます。 SQL文を作成して、SQLファイルにします。そして、Run Commandツールを使って、これらのSQLスクリプトファイルに対してSnowSQLで実行します。

このように、SnoqSQLの機能やPythonライブラリ用のSnowflake Connectorが役立つ可能性のある状況を考えてみてください。そして、これらのオーケストレーション技術をビジネスの中でどのように使うことができるかを考えてみましょう。このように、これらのツールでできることは何でも、2つのツールはワークロードに簡単に組み込むことができ、強力です。

さて、これらの異なるワークロードタイプを見てきましたが、これらのワークロードタイプが組織に与える影響を強調する4つの事例を見てみましょう。

4つの事例

オムニチャネル・ロジスティクス

さて、最初のケーススタディでは、オムニチャネル・ロジスティクスに特化した企業が、スタンダード・ワークロードを利用して、データ処理のパイプライン時間を80%以上短縮した事例を紹介します。

今、あなたが実行しているプロセスを考えてみてください。もし、その処理時間を80%削減できたら、どんなことができるようになるでしょうか。

AlteryxとSnowflakeを導入する前、この組織はいくつかの課題に直面していました。ひとつは、この時間のかかる処理を手作業で行うために、アナリストが毎営業日に待機していなければならないことです。つまり、レポート用のデータを準備しているのです。もう一つは、手動で行っていたため、結果にエラーが頻発していたことです。これが原因で、結果に対するチームの信頼が失われてしまったのです。その結果、チームは結果を信頼できなくなってしまったのです。そのデータは正しいのか、そうでないのか。これは、そのチームにとって大きな問題でした。

そこで彼らが目指したのは、信頼性の高い自動化されたリアルタイムプロセスを構築し、毎日アウトプットを作成するのではなく、アウトプットの分析に集中できるようにすることでした。また、本番用のSQLデータベースの負荷を軽減することも目標としていました。このデータベースは、クライアントのトラッキングポータルにデータを提供する役割を担っていました。そのため、顧客への信頼性を維持するために、データベースの負荷を軽減したいと考えていました。そこで、SQLデータベースからデータを取り込み、準備し、そのデータをSnowflakeにロードするために、Alteryxを使った自動データパイプラインを構築しました。そして最後に、Tableauのダッシュボードでデータを可視化しました。

新しい自動化されたプロセスを導入した結果、データの準備にかかる時間が毎日2時間から15分に短縮され、1時間45分の時間的余裕ができたことで、より高度な分析やさまざまなビジネス上の課題を解決することができるようになりました。この効率化により、データを準備する代わりに、結果を分析することができるようになりました。また、ビジネスパフォーマンスや直面している問題に対する可視性も向上しました。

ネットワーク企業

2番目の例である高通信ネットワーク技術企業では、製品、顧客、販売のKPIを強調した中心的なGo-to-MarketダッシュボードをTableauで作成するために、オーケストレーション・ワークロードを使用しています。

彼らの課題は、ダッシュボードが、10以上のデータソースを必要とし、3,000万以上のレコードを包含していることでした。

彼らの解決策は、「SALTスタック」を利用することでした。SALTスタックとは、データにSnowflake、処理にAlteryx、そして可視化にTableauを使用することを指します。このSALTスタックを使って、彼らは、まずデータスワンプを作りました。これは、ソースシステムからデータを取り出し、「データスワンプ」と呼ばれる場所にステージングしたものです。データはまだクリーンではなく、分析できる状態ではありませんでした。そこで、データスワンプからデータを取り出し、それをクリーニングし、補強して、残りのプロセスで使用できる認定されたデータソースにしたのです。

彼らが行ったユニークなことの一つは、この処理の整理やオーケストレーションを支援するために、Alteryxのマクロ機能を使用したことです。彼らが行ったのは、SnoqSQLを実行するRun Commandツールを、複数のプロセスで使用できる再利用可能なカスタムツールにカプセル化することでした。つまり、様々なプロセスで使用できるように、ツールを動的にしたのです。その結果、チームはAlteryx Analytic Process Automationの柔軟性とパワー、そしてSnowflakeのスピードと並行性を組み合わせることができ、1000人以上のエンドユーザーに分析を拡大して、データとインサイトを日々の意思決定の中心に置くことができるようになりました。

天気データを用いた小売業の各種予測

3つ目のケーススタディでは、in-Databaseワークロードの威力をご紹介します。

小売業者は、天候が需要などに与える影響を気にしなければなりません。在庫の効率的な配分や工場の人員配置などに影響を与えるからです。

そこで、小売業に特化した分析会社は、in-Database処理を利用して、Snowflakeのスケールとパフォーマンスを引き出し、何十億もの記録を処理しました。これらのレコードを使って、天気予報や空間分析機能を組み込んだ予測モデルをAlteryxで学習させています。

また、このソリューションの特徴は、カテゴリーマネージャーが自分のカテゴリーに特化した予測を分析できる機能を提供したいと考えていたことです。ここではAlteryxのアナリティクスアプリを作りました。このアプリは、現場のカテゴリーマネージャーにセルフサービスの分析機能を提供するものでした。これにより、カテゴリーごとに予測をカスタマイズすることができ、天気予報の変化に対応するために必要な情報を提供し、短期的な在庫、プロモーション、配分などを調整することができるようになりました。

Alteryxのデータベースへの取り込み機能、処理機能、データサイエンス機能を利用することで、この顧客は、冬物在庫のマークダウン計画を大きな寒冷前線の数日前に延期したり、好天やレジャー地などに対応して昼間の追加配送を計画したりすることができ、その結果、在庫切れを減らすことができました。最後に、温暖な地域にある店舗では、夏物商品のスペース配分を調整することができました。

非営利団体

最後にご紹介するのは、アナリティクス・プロセス・オートメーションがいかに大幅な時間短縮につながるかを示す事例です。

ある非営利団体では、20種類の異なるシステムからデータを収集・分析してレポートを作成していましたが、そのプロセスには毎回16週間もかかっていました。非営利団体の目標は、この手作業によるプロセスから脱却し、年間8,000万ドルの資金を配分する際などに、エビデンスに基づいた意思決定ができるようにすることでした。

この課題を解決するために、チームはAlteryxを使って、データの準備、ブレンド、分析を自動化しました。データを準備した後、Snowflakeに一括してロードしました。そして、Tableauのレポートを使って、そのデータを利用することができたのです。

Alteryxを導入することで、このチームは、16週間かかっていたレポート作成プロセスを30分に短縮することができ、さらに出力時のエラーも減らすことができました。15週間以上の時間を節約し、エラーを減らし、データに簡単にアクセスできるようになったことを考えてみてください。この時間短縮により、チームはより高度な分析を行うことができるようになりました。また、報告書を繰り返し作成することで、より効果的な報告書を作成することができました。このように、報告書をより頻繁に更新できるようになったことで、非営利団体の設立者は、非営利団体の運営実績についてより高い透明性を得ることができ、将来の研究プロジェクトへの資金提供や資金調達の能力も向上しました。

まとめ

リソース

AlteryxとSnowflakeがビジネスにポジティブな結果をもたらすことをご理解いただいた上で、2つの資料をご覧ください。

まず1つ目はBest Practices for Using Alteryx with Snowflakeです。このホワイトペーパーでは、今日説明した内容の多くを、さらに詳細にカバーしており、AlteryxとSnowflakeの利用を最適化するのに役立ちます。

さらに、Snowflake スターターキットは、この2つのプラットフォームを一緒に使い始めるのに最適な方法です。スターターキットには、今日説明した3つのワークロードタイプにスポットを当てたサンプルが含まれているほか、様々な役立つ動画も用意されています。動画では、Snowflakeへの接続方法、in-DBツールの使用方法、オーケストレーションのワークロードの実行方法などが紹介されています。

締めの挨拶

改めて、本日のセッションにご参加いただきありがとうございました。このセッション以外でも、ご意見やパートナーシップに関するアイデア、Alteryxプラットフォームに期待することなどがありましたら、お気軽にメールでお寄せください。

また、Alteryxを初めてお使いになる方で、まだAlteryx Designerがインストールされていない方は、30日間の無料トライアルができますので、ぜひチェックしてみてください。それでは、ご参加いただきありがとうございました。それでは良い一日をお過ごしください。

おわりに

今までも「AlteryxはSnowflakeと相性良さそう」と思っていたのですが、それが確信に変わったセッションでした。特にin-Databaseツールを用いたワークフローは、Snowflake側の仮想ウェアハウスの簡単な設定で、パフォーマンスを飛躍的に向上させることができるので、めちゃくちゃ強力なソリューションだと思います。

Run Commandツールを使ってSnowSQLまでコントロールするのは、すごい面白そうなんですけど、実際の現場だとなかなか導入の敷居が高そうではあります。