IBM cpdctl を使用したスパークテーブルのメンテナンス

適用対象スパークエンジン

Iceberg テーブルのメンテナンス操作は、 IBM Cloud Pak for Data Command Line Interface ( IBM cpdctl ) を使用して Spark アプリケーションを送信することで実行できます。 IBM cpdctlで利用可能な tablemaint ユーティリティを使用すると、Sparkアプリケーションの送信、一覧表示、詳細の取得を行うことができます。

開始前に

  • watsonx.data インスタンスにNative Sparkエンジンをプロビジョニングした。
  • IBM cpdctlをダウンロードしてインストールする。 詳しくは、 IBM cpdctlのインストールを 参照のこと。
  • IBM cpdctlで watsonx.data 環境を設定する。 詳しくは、 IBM cpdctlの設定 を参照のこと。

テーブルメンテナンス

tablemaintユーティリティで利用可能なリソースを使用して、以下のテーブル・メンテナンス作業を実行できます。

  • スナップショット管理

    • rollback_to_snapshot - 特定のスナップショット ID にテーブルをロールバックする。
    • rollback_to_timestamp - 特定の日時のスナップショットにテーブルをロールバックする。
    • set_current_snapshot - テーブルの現在のスナップショット ID を設定する。
    • cherrypick_snapshot - スナップショットからの変更を現在のテーブル状態にチェリーピックする。
  • メタデータ管理

    • expire_snapshots - 不要になった古いスナップショットとそのファイルを削除する。
    • remove_orphan_files - Icebergテーブルのメタデータ・ファイルで参照されていないファイルを削除する。
    • rewrite_data_files - メタデータのオーバーヘッドと実行時のファイルオープン・コストを削減するために、小さなファイルを大きなファイルにまとめる。
    • rewrite_manifests - スキャン計画を最適化するためにテーブルのマニフェストを書き換える。
  • テーブル・マイグレーション

    • register_table - metadata.json ファイルが存在するが、対応するカタログ識別子がない場合にカタログ・エントリを作成する。

詳しくは、 wx-dataコマンドの使い方 --help (-h) セクションを参照。