差分テーブルに対してテーブルのメンテナンスを実行し、小さなファイルを圧縮し、読み取りの最適化を適用し、参照されなくなった古いファイルを削除することで、時間の経過と同時に正常な状態を維持します。
メンテナンスは、Fabric ポータル (Lakehouse テーブル Maintenance アクション) でアドホック操作として実行することも、ノートブック、pipelines、または REST API を使用してスケジュールされた調整されたプロセスとして実行することもできます。 この記事では、アドホック ポータルのワークフローについて説明します。
SQL 分析エンドポイント、Power BI Direct Lake、Data Warehouse コンシューマーの推奨事項など、ワークロード間のメンテナンス ガイダンスについては、「Cross-workload table maintenance and optimizationを参照してください。 コードファーストのメンテナンス パターンについては、Delta Lake テーブルの最適化と V-Order および Microsoft Fabric REST API を使用した Lakehouse の管理を参照してください。
Lakehouse からテーブルメンテナンスを実行する
Lakehouse でのテーブルメンテナンスは、Delta テーブルにのみ適用されます。 Parquet、ORC、AVRO、CSV などの形式を使用する従来の Hive テーブルはサポートされていません。
[ メンテナンス コマンドの実行 ] ダイアログで、目標に基づいてオプションを選択します。
一般的な方法として、大規模なインジェストまたは更新アクティビティの後、または多数の小さなファイルが観察され、読み取りパフォーマンスが低下した場合は、メンテナンスを実行します。
Microsoft Fabric アカウントから目的の Lakehouse に移動します。
Lakehouse Explorer の [ テーブル] で、ターゲット テーブルを右クリックします (または省略記号を使用します)。
[メンテナンス] メニューエントリを選択します。
[ メンテナンス コマンドの実行 ] ダイアログで、メンテナンス オプションを選択します。
より効率的な読み取りを行うために、小さな Parquet ファイルを大きなファイルに圧縮するには、[ OPTIMIZE ] チェック ボックスをオンにします。
OPTIMIZE が選択されている場合は、[V オーダーの適用] チェック ボックスをオンにすることもできます。 オプションを選択すると、最適化の一環として、Fabric により V オーダー (最適化された並べ替え、エンコード、圧縮) が適用されます。
注意
V オーダーは、平均書き込み時間に約 15% の影響を与えます。 また、最大 50% より多くの圧縮を提供することもできます。
Delta Lake コマンドを実行し、リテンション期間のしきい値より古い参照されていないファイルを削除するには、[
VACUUM] チェック ボックスをオンにします。 保持動作と安全性の詳細については、「 真空保持設定」を参照してください。
[今すぐ実行] を選択して、テーブルのメンテナンス ジョブを実行します。
次のいずれかの場所でジョブの実行を追跡します。
- 即時実行状態の通知 ウィンドウ (Fabric ポータル ヘッダーのベル アイコン)。
- 完全なジョブの詳細については、監視ハブ (左側のナビゲーションで [監視] を選択します)。 アクティビティ名に
TableMaintenanceを含むアクティビティを探します。
メンテナンスを実行すると、成功は通知に完了したテーブル メンテナンス アクティビティとして表示され、監視ハブでは正常な TableMaintenance エントリとして表示されます。
監視ハブのナビゲーションとフィルターの詳細については、「 監視ハブの使用」を参照してください。
バキュームリテンション設定
VACUUM コマンドは、Delta ログによって参照されなくなったファイルと、保持しきい値より古いファイルを削除します。 既定の保持しきい値は 7 日間です。
保持間隔を短くすると、Deltaのタイムトラベル履歴が減少し、同時に作業するリーダーやライターに影響を与える可能性があります。 Fabric ポータルと API のメンテナンス要求は、7 日以内のリテンション期間で既定で失敗します。
7 日以内にリテンション期間を使用する必要がある場合は、ワークスペースの Spark ワークロードで使用されるファブリック環境の Spark プロパティでspark.databricks.delta.retentionDurationCheck.enabledにfalseを設定します。 環境を構成してアタッチする場所については、「Fabric 環境での 環境の作成、構成、および使用」および「Fabric環境の Spark コンピューティング構成設定」を参照してください。