Einstein Analytics Direct Data for Snowflakeを試してみた

2020.12.10

こんにちは!DA(データアナリティクス)事業本部 インテグレーション部の大高です。

当エントリは『ゆるっと Advent Calendar 2020』の10日目のエントリです。

概要

もう半年ほど前となりますが、2020年6月に実施されたSnowflakeのオンラインイベント「Say Hello To The Data Cloud」にて、様々な新機能、実装予定の機能が紹介されました。

今回はこの中の「Einstein Analytics Direct Data for Snowflake」を試してみたいと思います。

実は当時、このエントリを途中まで試して書いていたのですが、Salesforce上で該当機能を見つけることができず断念していました。が、最近たまたま該当機能を見つけたので改めて書き直しています。

「Einstein Analytics Direct Data for Snowflake」とは?

下記ブログに機能の概要が記載されています。

Already in open beta, customers of Einstein Analytics can now use a new feature: Einstein Analytics Direct Data for Snowflake. Instead of having to copy data from Snowflake into Einstein analytics, you can query Snowflake directly to get insights from live data.

Einstein Analyticsのお客様は、すでにオープンベータ版で、新機能であるEinstein Analytics Direct Data for Snowflakeを使用できます。 SnowflakeからEinsteinアナリティクスにデータをコピーする代わりに、Snowflakeに直接クエリを実行して、ライブデータから洞察を得ることができます。

通常Einstein Analyticsではデータを「データセット」としてSalesforce上で保持し、定期更新などをかけて利用しますが、これをライブで利用できるという機能です。 オープンベータで利用可能とのことですので、Einstein Analyticsの環境を準備して試してみたいと思います!

Einstein Analyticsが利用できるSalesforce環境を準備する

Einstein Analyticsが利用できるSalesforce環境(Developer Edition 組織)は、以下のTrailheadに沿って作成できます。フォームに情報を入力するだけなのですぐですね。

環境が無事に出来ました!

Live Connectionを作成する、その前に…

Live Connection機能を利用するために、「設定」を変える必要があります。画面右上の「ギア アイコン > 設定」から設定画面に移動します。

設定画面を開いたら、「管理」メニューの「機能設定 > 分析 > Analytics > 設定」を開き、「外部データソースの Einstein Analytics ダイレクトデータを有効化」を有効化して「保存」します。

これでLive Connection機能が利用できるようになりました。

Live Connectionを作成する

では、本題をすすめていきます。以下のSalesforceのドキュメントに沿って、まずはLive Connectionを作成します。

まずは、アプリケーションの「Analytics Studio」を開きます。

「Analytics Studio」を開いたら、今度はギア アイコンから「データマネージャ」を開きます。

「データマネージャ」では、「接続」を開き「データに接続」をクリックします。

すると、「ライブ接続」タブが表示されているので、「接続を追加」から追加しましょう。

接続には「Snowflake Direct コネクタ」のみ表示されていますね。これを選択します。

接続情報には、それぞれ以下を入力して「データセットを保存&作成」をクリックします。

項目の概要は以下のとおりです。

項目 内容
接続名 任意の名前
API 参照名 任意のAPI用の名前(一意の名前でアンダースコアと英数字のみ利用可)
説明 接続の説明
Schema Snowflake スキーマ名
Password Snowflake ログインパスワード
Role Snowflake ロール名
Warehouse Snowflake ウェアハウス名
Username Snowflake ログインユーザ名
Account Snowflake アカウント名
Database Snowflake データベース名

今回は、サンプルとして以下を指定しました。

項目 内容
接続名 Snowflake接続サンプル
API 参照名 snowflake_connection_sample
説明 Snowflake接続サンプル
Schema TPCH_SF1
Password ******************
Role SYSADMIN
Warehouse COMPUTE_WH
Username foobar
Account foobar.ap-northeast-1.aws
Database SNOWFLAKE_SAMPLE_DATA

接続されると、対象のテーブル一覧が表示されるので、今回は「REGION」を選択します。

最後に、「データセット名」と対象とする「アプリケーション」を指定して「ライブデータセットを作成」します。

無事に作成されました!

データを表示してみる

試しに、先程のデータセット画面の右上の「調査」から新規に「レンズ」を作成してデータの中身を見てみます。データは「表形式」にしてみましょう

「REGION」データが表示されていますね。Snowflake側のクエリ履歴も確認します。

想定通りクエリが実行されています。

試しに簡単なダッシュボードも作成して、何度かブラウザ画面を更新してみました。結果として、Snowflake側のクエリ履歴が増えていっているので「ライブ接続」がされていることが確認できました。

注意点

ヘルプにもあるとおり、ご紹介した機能は(2020年12月時点で)「ベータ機能」であり、正式リリースではない点はご注意ください。

まとめ

以上、「Einstein Analytics Direct Data for Snowflake」のご紹介でした。

これまでは定期的に「データセット」を更新するため、ダッシュボードのデータはある程度の時間間隔での更新となっていました。一方で、ライブ接続になると、Snowflake上のデータ更新をすぐに反映できるので、リアルタイムでダッシュボードを確認したいケースでは便利になりますね。

どなたかのお役に立てば幸いです。それでは!