見出し画像

Tableau Serverサイト運営の投稿-23

  • 事業会社でTableau Serverのサイト管理者を担当しています。(Tableau Cloudでない、自前のTableau Server管理です。

  • 今回はTableau Serverではユーザーがあまり意識しないバッチ処理の管理を考えてみます。

  • 大きくはTableau Sever上で起動する抽出処理とPrepのブラウザ版のフローの実行です。(フローの作成や修正はバッチ処理ではありません。)。最初の頃は抽出やフローの実行ができることについてデータに詳しい人から喜ばれたと思います。

  • しかしながら、利活用が組織内に広がると抽出やフローは仮に巨大なバックデータだとしても「自分が朝、ログインするまでに終わっていてほしい」人が多くなります。管理者側でスケジュールを何パターンか登録しても恐らく、朝一番終了目指したものが人気で日中や夕方終わるスケジュールは人気がないと思います。

  • またフローは場合によっては非効率な作りの可能性もあります。

  • まずはバッチ処理の状況を確認できる管理テーブルを作ってみましょう。

TableauServerバッチ処理の管理課題

管理は結構バリエーションがあります

実はバッチ処理の管理は結構バリエーションがあります。(自分でも書いてみて驚きました。)
・その日に予定していたバッチ処理が全部上手く完了したか?
・バッチ処理が全体的に増えていないか?個別分は長時間化していないか?
・バッチエラーは調査+リカバリするのでエラー時にすぐ知りたい。
・誰に連絡するのがいいのか?連絡した人が対処するのか、管理者側で対処するのか?(場合によっては両者のリカバリでデータ破損リスクあり。)

管理データの考え方

今の状況をリアルに確認する

エラー対応検知はこちらです。情報量が多すぎるとエラーが埋没するのでエラーに特化した内容がよいですが、Tableau Server内の制約で同時実行数に上限があるため、スケジュール設定時刻に起動してもすぐ実行されず、キューに入って待っている場合があります。(この「待っている」も厄介でユーザーからすると時間通りに完了してないためエラーと勘違いします。)
結局、完了以外の実行待ちとエラーを管理する事が必要です。
またリアルタイム確認は外部のテーブルに履歴保有しなくてもいいと思います。(リポジトリDBのライブ接続で十分でしょう。)リアルタイムと言っても、こればかり一日中見るわけにもいかないと思います。サブスクリプションメールで決まった時間に見るのがよいでしょう。

1日が終わった際の最終状態を管理する

こちらは外部のテーブルに履歴持ちします。まず、1日の終了時刻としてカットオフタイムを設けましょう。0時(=24時)でもいいですし、他の時間でもいいです。とにかく1日全部のバッチ処理の最終状態を断面を決めたうえで日々の結果を履歴でテーブル化します。(主にモニタリング目的で内容によりリソース増強計画やよくわかってないCreatorの教育や育成のInputにします。)バッチ運営状況を可視化して長時間のもの、エラーが多いものは登録者に改善依頼しましょう。

言葉の使い方

言葉の使い方が統一されていないと、コミニュケーション時に勘違いが起きる可能性があります。もうちょっと省略できそうではありますが、違いを明示しましょう
 バッチ実行中管理・・・・現在のリアルタイムの状態(ライブ接続)
 バッチ処理結果管理・・・一日の最終状態を指す用語(管理テーブル作成)

管理用のデータの作成

今回は履歴化するテーブルについてPrep Builderで実現できます。Tableau Desktopで最新だけ確認でもいいですが、できればPrep Builderの出力で組織内のデータベース上にテーブルとして残しましょう。出力の対象のDBがない場合はTableau Server内に抽出データとして保存しておきましょう。また、もし所属組織がData Management Add Onの契約を保有しているのであれば、スケジュールを登録して自動実行するようにしておきましょう。

管理用データレイアウト例

リポジトリDBを利用して以下のようなレイアウトのデータテーブルを作成します。組織内で必要な項目は異なるかもしれませんが、例として挙げます。(まずはPrepBuilderの出力コンポーネントでExcel等に出力して、検証してみてください。)

テーブル名:Tableau Serverバッチ処理結果管理テーブル

おことわり

当記事のコンテンツについて、商用利用でない場合は許可なく転載して頂いて構いません。
転載の際は、当記事へのリンクを掲載し転載であることを明記してください。商用利用の場合は許可なく転載しないで下さい。
当記事のコンテンツについて、公開情報等から引用したものであり、かかる情報の正確性・適切性等については、これを保証するものではありません。
っておらず、また、これを保証するものではありません。

この記事が気に入ったらサポートをしてみませんか?