[Snowflake新機能]テーブルごとのデータロードの履歴をGUIで確認できるIngestion Dashboardが使えるようになりました #SnowflakeDB

2022.01.07

さがらです。

Snowflakeの新しいUIであるSnowsightにて、Ingestion Dashboardという各テーブルごとのデータロードの履歴をGUIで確認できる機能がパブリックプレビューとなりました。

本エントリではこの機能を軽く触ってみて、どんなものか見ていきます。

Ingestion Dashboardの確認方法

まず、NewUIとなるSnowsightの画面からのみ確認可能なので、Snowsightを押します。押した後でログイン情報が求められたら、入力してください。

続けて、データデータベース⇒履歴を見たいデータベース~テーブルを選択⇒履歴をコピーすると押してもらえればOKです。

より詳細に画面を見てみる

データのロード後に、Ingestion Dashboardではどのように表示されるのかを見ていきたいと思います。

前準備

Snowflakeのハンズオンでも使用される、CitiBikeのデータを使用します。

  • データの仕様
    • S3に保存されたCSV
    • レコード数は6150万件
    • CSVオブジェクトの数は377個、サイズは(圧縮されて)1.9GB
    • ダブルコーテーション囲みのカンマ区切り
  • ウェアハウスのサイズ:XS(クラスター数は1)

使用するテーブル定義、ステージ、ファイルフォーマット、についてはこちらの記事をご確認ください。

ウェアハウスの定義と、ロードに用いるCOPY文についてはこちらの記事をご確認ください。

ウェアハウスの定義まで出来たら、以下のコピー文を実行します。

copy into trips from @citibike_trips
file_format=CSV;

Ingestion Dashboardを見てみる

では、上述のコマンドを実行してロード後にIngestion Dashboardがどうなっているか見てみます!

ロード履歴を可視化した棒グラフ

まず上部の棒グラフでは、各種条件を絞り込んで、ロード履歴を日別に確認することが出来ます。

  • 日付の条件設定

デフォルトで用意されている期間もあれば、カスタムで任意の期間を設定することもできます。

  • 各ファイルのロードステータス

下図のように、ロード状況のステータスで条件を絞って抽出することも可能です。特にエラーやスキップされたファイルだけに絞り込んでみるケースが多いと思うので、数クリックで条件を変えることが出来るのは便利ですね!

※実は今回ロード中にもIngestion Dashboardを見てみたのですが、進行中のステータスが確認できませんでした。この辺りはまだ未実装なのか、自分のやり方が悪かったのか判断がつかなかったため、日を改めて確認してみたいと思います。

  • 使用するウェアハウス

履歴データに対するクエリを実行することになるため、ウェアハウスを使用します。このドロップダウンリストから使用するウェアハウスを選択可能です。

ファイル名ごとのロード詳細

Ingestion Dashboardの下部では、実際にロードしたファイルに関して詳細なデータが記載されています。

具体的には、各ファイルのサイズ、各ファイルが持つレコード数、ロードに関するステータス、ステージ上のファイルパス(アイコンを押すことでパスをコピー可能)、Snowpipeを使用してロードされたかどうか、を確認することが出来ます。

まとめ

SnowflakeのIngestion Dashboardを試してみました。

ロード状況を視覚的に確認するためにはSnowsightを使って独自にクエリを記述するかBIツールを使用するしかなかったので、事前の設定不要ですぐに使える便利な機能だなと思いました!

また、「そろそろ新UI(Snowsight)のGAも近いのか…!?」と改めて感じましたね。2022年には来そうな気もしますが果たして…。

おまけ:本機能を知った背景

実はこのIngestion Dashboardは、2022年1月7日時点で公式Docにも記載がされていないのですが、Snowflake社の本橋さんのツイートで気づいたため試してみました。

公式よりも早い情報を提供してくれることも多いため、Snowflakeのことを知りたいならばフォロー必須ですよ!