【Snowflake】SnowflakeをTableauで管理する―①テーブルの最終更新日時

【Snowflake】SnowflakeをTableauで管理する―①テーブルの最終更新日時 | Tableau-id Press -タブロイド-
snowflake_logo

こんにちは!truestarの奥津です。

今回から何回かに分けて、Snowflakeを管理するのに見たい情報を、
Tableau上で表示するやり方を書いていこうと思います!
今回はテーブルの最終更新日時をモニタリングする方法です。

1.TableauをSnowflakeにつなぐ

方法はこの記事で紹介していますが、SnowflakeのWEB UIからODBCドライバーをインストールすることで、
TableauからSnowflakeへアクセスできるようになります。

2.TABLESビューを取得

Snowflakeから共有されている「SNOWFLAKE」データベースの「ACCOUNT_USAGE」スキーマにはいろいろなメタデータが入っています。
このうち、「TABLES」ビューにアクセスすることで、保持しているテーブルごとの最終更新日時を知ることができます。
(「TABLES」ビューの詳細はこちら

①任意のウェアハウスを選択(サイズはXSで十分)
②データベース:SNOWFLAKE、スキーマ:ACCOUNT_USAGEを選択
③「TABLES」ビューをドラッグ&ドロップ
※「ライブ」接続にするとワークシートの編集中、データに接続するたびウェアハウスが消費されうるため、
「抽出」接続にしてデータを抽出してからワークシートを作成し、無駄なウェアハウス消費を防げます。

3.ワークシートの作成

「TABLES」ビューには最終更新日時だけでなく、テーブルの容量や作成日など色々なデータが入っていますが、
今回使うのは次のデータです。

「Last Altered」:テーブルの最終更新日時
「Deleted」:テーブルの削除日時(現存テーブルはNULL)
「Table Catalog」:データベース名
「Table Scheme」:スキーマ名
「Table Type」:テーブルとビューの区別
「Table Name」:テーブル・ビュー名

これらを、例えば次のように配置すると一覧表示されます。

フィルター:「Deleted」、NULLのみに絞る
行:「Table Catalog」「Table Scheme」「Table Type」「Table Name」
テキスト:「Last Altered」

これでテーブルごとの最終更新日時が見れるようになりました!
今回は見れるようにするところまでですが、
ダッシュボード化するときは、更新日時でソートして最新のテーブルが上に来るようにしたり、
データベース名などのフィルターを設置して表示を絞り込めるようにすると、もっと使いやすくなるかと思います。(これから私も整理します。)

いかがでしたでしょうか。truestarではSnowflakeでの業務構築を支援しています!お悩みの方、こちらからぜひ一度ご相談ください。

Prepper で貴重な人材の時間を解放!

弊社サービス『Prepper』は、データ分析者のデータプレップ(分析の下準備)を肩代わり。すぐにデータ分析を開始できます。

Prepper サービス紹介ページ

Prepper Open Data  Bank で無料共有しているデータは、国勢調査の人口統計データ、国土数値情報のポリゴンデータ、気象庁の気象データなど、今すぐ分析に使えます。

PODB サービス紹介ページ

利用には Snowflake のアカウントが必要になりますが、30日間の無料トライアルが可能。

Snowflake アカウント開設方法

または、twitterで #PODB使ってみたい とつぶやくだけで、今すぐ使えます。

ご興味のある方は是非こちらからお声掛けください!