メインコンテンツまでスキップ

Janitor の概要

Janitor は、Lakehouse のテーブルのメンテナンスをスケジュールに沿って実行します。小さなファイルをまとめ、古い snapshot を削除し、使われなくなったファイルを整理するため、クエリは高速なまま、ストレージも小さく保たれます。

安全なデフォルト値を一度設定したら、メンテナンスするテーブルごとに job を作成します。job は実行、無効化、変更ができます。

メンテナンスの内容​

Janitor には 3 つのメンテナンスオプションがあります。デフォルト値でオン・オフを設定し、job ごとに変更することもできます。

オプション内容デフォルトでオン
OPTIMIZE多数の小さなデータファイルを、少数の大きなファイルに書き直します。クエリが読むファイルが減り、速く実行されます。はい
EXPIRE SNAPSHOTS保持期間より古い snapshot を削除します。これによりテーブルの履歴が短く保たれます。はい、7 日
ORPHAN CLEANUPどの snapshot からも使われなくなったストレージ上のファイルを削除します。たとえば、書き込みの失敗で残ったファイルです。いいえ、7 日
警告

ORPHAN CLEANUP は元に戻せません。削除するのは保持期間より古いファイルだけです。保持期間を確認してからオンにしてください。

EXPIRE SNAPSHOTS の実行後、削除された snapshot は Time Machine に表示されなくなります。必要な履歴が残るよう、保持期間を十分に長くしてください。

仕組み​

  1. Settings ページでデフォルト値を設定します。スケジュール、メンテナンスウィンドウ、同時に動作できる実行の数、メンテナンスオプションです。
  2. メンテナンスするテーブルごとに job を作成します。新しい job にはデフォルト値が適用されます。スケジュールとオプションは後から変更できます。
  3. スケジュールを待つか、Run を選択してすぐに実行を開始します。スケジュールの時刻になると、Janitor が job の実行を開始します。
  4. Run history で結果を確認します。1 回の実行は複数のステップで構成され、各ステップがメンテナンスの一部を担います。

1 つの job で同時に動作できる実行は 1 件だけです。デフォルトでは Lakehouse 全体でも同時に 1 件だけなので、メンテナンスが Lakehouse に過剰な負荷をかけることはありません。

メンテナンスがしばらく停止していた場合、Janitor は実行されなかった分をスキップし、次のスケジュール時刻から再開します。取り戻すには、Run で実行を開始してください。

Janitor が行わないこと​

  • テーブルの行を変更、追加、削除することはありません。
  • テーブルを削除したり、空にしたりすることはありません。
  • Janitor から独自の SQL を送ることはできません。Janitor は決められたメンテナンスステップだけを実行します。

対象のテーブル​

Janitor は、snapshot を保持する Lakehouse テーブル形式のテーブルで動作します。ビューや他の形式のテーブルは Janitor に表示されません。

開き方​

サイドバーで Janitor を開きます。次の 3 つのページがあります。

ページできること
Maintenance Jobsjob の作成と実行、スケジュールとオプションの変更。
Run historyすべての実行の結果確認と、実行の停止。
Settingsデフォルト値の設定と、すべてのメンテナンスの一時停止・再開。

できること​

タスクページ
デフォルト値を設定するデフォルトのメンテナンス設定を構成する
job を作成、変更するメンテナンス job の作成と管理
実行を確認して開始する、処理が進まなくなった job を解除するメンテナンスを手動で実行する
実行が失敗した理由を調べる、実行を停止する実行履歴の確認と実行の停止
すべてのメンテナンスをしばらく止めるすべてのメンテナンスの一時停止と再開

Janitor を使える人​

権限できること
maintenance:readjob、実行、ステップの詳細、設定の表示。Dry run による実行の確認。
maintenance:manageそれ以外のすべて。job の作成と変更、実行の開始と停止、設定の変更、一時停止と再開。

Janitor の権限と入力ルールとポータルの role と権限を参照してください。

次のステップ​