Tableau Prep Conductor を使って見よう!

2019/02/13 17:32 Unknown 0 Comments

みなさん、こんにちは bashii です。

Tableau 2019.1 の発表にて、Prep Conductorが発表になりました。さて、”Prep Conductor"とはいったいどのようなものなのでしょうか?

(以下資料はβ版の画面を利用しています。実際の2019.1の画面とは異なる可能性があります。当資料はTableau社の正式なレビューを受けていません。最新技術情報の共有を目的とした一技術文書としての公開となります。)

◇ Prep Conductor とは何ですか?

Tableau はTableau Prepというデータ準備のツールを提供しており、PC上で複雑なデータ前処理をフロー化してバッチ実行するプロダクトを提供しています。前処理した結果は、CSV、Tableau の抽出、またはTableau Serverにデータソースとしてパブリッシュし、Tableau Desktopから可視化、分析をすることができます。可視化をする際に複雑な前準備を完了した状態の結果に対してアクセスすることで、大元のデータソースへのアクセス処理を回避し、分析処理のパフォーマンス向上が望めます。

一言でいえば、「Prep Conductor 」はいままでPC上で実行していたPrepフローをサーバー側で一括管理、スケジュール実行する機能です。

例えば…

① 当日の売り上げを夜間に締めて、マスターデータや他のデータと結合して前処理し、分析用のデータソースを作成、パブリッシュしておく (Prep Conductorでバッチのスケジュール実行)

② 翌日の朝、ユーザーに①で前処理しておいたデータソースを提供し自由に分析してもらう (Tableau Desktop または Tableau Server の Web-Edit を利用する)といった運用を考えるとイメージが付きやすいでしょうか。



なお、Prep ConductorはTableau Server / Tableau Online のコンポーネントとして含まれます。(別途ライセンスを有効化することで利用可能となります。)ですので、Prep Conductor用の製品を別途インストールする必要はありません。


◇ Prep Builderとは何ですか?

今までのTableau Prep(デスクトップ製品) は Prep Conductorが登場したことで、Prep Builderに名称変更になります。ちょっとややこしいですが、デスクトップ環境で稼働する製品をPrep Builder、サーバーで稼働する製品をPrep Conductorと呼び方を分けることになりました。

◇ Prep Conductorの利用ケース例

Prep Conductor の利用構成として以下のようなケースが考えられます。

① フローの作成
Prep BuilderからCloud上のデータソースを入力とした前準備を行い、出来上がった結果をTableau Serverに共有のデータソースとしてパブリッシュするフローを作成。

② フローのパブリッシュ
Prep Builder から Prep Conductor (実際はTableau ServerまたはTableau Online)にフロー自体をパブリッシュする。

③ フローのスケジュール実行
Prep Conductor上で定期的にフローがスケジュール実行され、パブリッシュされたデータソースの内容が更新される。

④ データの可視化分析
ユーザーは定期的に更新される、パブリッシュされたデータソースを利用して日々の分析を行う。



◇ それでは実際に触ってみましょう

今回は、クラウド上のデータソース(Google Cloud SQL)に売上データが毎日入ってくる想定で、一日の終わりにこれを集計し、分析用のデータソースを作るフローを定期実行し、Tableau Serverにパブリッシュして分析に利用するというシナリオを考えます。

① まずはPC上のPrep Builderでフローを作成し、Tableau Server にパブリッシュします。



パブリッシュが完了するとPrep Conductor(Tableau Server上)にパブリッシュされたフローがブラウザの画面に表示されます。



Scheduleから"Every night End of the Day" のスケジュールを作成します。(午前2:00に実行するためのスケジュールを作成します。)



FlowのCreate new task で先ほど作成したSchedule(実行タイミング)でTaskを作成します。



タスクがスケジュールされたことを確認します。



ブラウザから即時実行することもできますので、動くかどうか一回確認してみます。



成功しました。



Run History でフローが実行された履歴、所用時間を確認します。




後はこのフローが定期的に実行されるのを待ちます。

ここで、Tableau Desktopに戻ってデータの分析をしてみましょう。

Tableau DesktopからTableau Serverに接続し、フローによってパブリッシュされたデー
タソースに接続します。



次に可視化を行います。この時点では2019/04/02までのデータが入っています。



この間にもトランザクションデータベースにはその日のトランザクションが更新されています。営業時間が終わり、夜中のフローが流れ、実行履歴が追加されます。ここでは疑似的にGoogle Cloud SQLのMySQLに2019/04/03 のデータを追加してみます。



夜中にTableau Server上のバッチが実行されます。



次の日の朝に、データ分析ユーザーはTableau Desktop 上でデータソースの更新を行います。



すると、夜間に更新された前日の更新を含むデータソースが参照できるようになります。以下のエリアチャートで、2019/04/03 の日付のデータが入ってきていることが分かります。



また、Server Status -> Flow Performance History より、パブリッシュされたフロー全体を見て、いつ何時にどのフローが成功、失敗したか、また処理時間にどれだけ所要したかを一覧で見ることができます。



また、ユーザーごとにフローを実行できるか、編集できるかなど異なるパーミッション設定を行えることも特徴です。




◇ Prep Conductorを使うメリット

最後に、Prep Conductorを使うメリットについて、まとめます。

① フローをサーバー側でスケジュール実行
フロー実行のためにクライアントPCを常時起動しておく必要がない

② スケーラビリティ
サーバーまたはクラウドのリソースをフロー実行時に有効活用できる
(多くの場合、クライアントPCよりリソースが潤沢)

③ フローの一括管理
個々に作成していたフロー成果物を一括管理できる

④ セキュリティ
フローの実行、ビュー、ダウンロード可否などのをユーザーごとに設定できる

⑤ フロー実行のモニタリング
フローの実行の履歴、実行時間をモニターし集中管理できる


以上、Tableau Prep Conductor を使ってみた報告でした!! 参考になれば幸いです。

0 コメント: