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 に表示されなくなります。必要な履歴が残るよう、保持期間を十分に長くしてください。
仕組み
- Settings ページでデフォルト値を設定します。スケジュール、メンテナンスウィンドウ、同時に動作できる実行の数、メンテナンスオプションです。
- メンテナンスするテーブルごとに job を作成します。新しい job にはデフォルト値が適用されます。スケジュールとオプションは後から変更できます。
- スケジュールを待つか、Run を選択してすぐに実行を開始します。スケジュールの時刻になると、Janitor が job の実行を開始します。
- Run history で結果を確認します。1 回の実行は複数のステップで構成され、各ステップがメンテナンスの一部を担います。
1 つの job で同時に動作できる実行は 1 件だけです。デフォルトでは Lakehouse 全体でも同時に 1 件だけなので、メンテナンスが Lakehouse に過剰な負荷をかけることはありません。
メンテナンスがしばらく停止していた場合、Janitor は実行されなかった分をスキップし、次のスケジュール時刻から再開します。取り戻すには、Run で実行を開始してください。
Janitor が行わないこと
- テーブルの行を変更、追加、削除することはありません。
- テーブルを削除したり、空にしたりすることはありません。
- Janitor から独自の SQL を送ることはできません。Janitor は決められたメンテナンスステップだけを実行します。
対象のテーブル
Janitor は、snapshot を保持する Lakehouse テーブル形式のテーブルで動作します。ビューや他の形式のテーブルは Janitor に表示されません。
開き方
サイドバーで Janitor を開きます。次の 3 つのページがあります。
| ページ | できること |
|---|---|
| Maintenance Jobs | job の作成と実行、スケジュールとオプションの変更。 |
| Run history | すべての実行の結果確認と、実行の停止。 |
| Settings | デフォルト値の設定と、すべてのメンテナンスの一時停止・再開。 |
できること
| タスク | ページ |
|---|---|
| デフォルト値を設定する | デフォルトのメンテナンス設定を構成する |
| job を作成、変更する | メンテナンス job の作成と管理 |
| 実行を確認して開始する、処理が進まなくなった job を解除する | メンテナンスを手動で実行する |
| 実行が失敗した理由を調べる、実行を停止する | 実行履歴の確認と実行の停止 |
| すべてのメンテナンスをしばらく止める | すべてのメンテナンスの一時停止と再開 |
Janitor を使える人
| 権限 | できること |
|---|---|
maintenance:read | job、実行、ステップの詳細、設定の表示。Dry run による実行の確認。 |
maintenance:manage | それ以外のすべて。job の作成と変更、実行の開始と停止、設定の変更、一時停止と再開。 |
Janitor の権限と入力ルールとポータルの role と権限を参照してください。