Important
既存のスキーマの自動アップグレードは パブリック プレビュー段階です。 登録するには、 アカウント ID を使用してこのフォーム に入力します。 登録後にコードの変更や追加の構成は必要ありません。
新しいスキーマの自動アップグレードが一般公開されています。
Unity カタログのマネージド テーブルの場合、Databricks は、コードの変更や手動の ALTER TABLE ステートメントを必要とせずに、一般公開されている推奨機能を使用するように自動的にアップグレードします。 自動アップグレードでは、新しい機能を有効にする前に、クライアントに互換性があることを確認します。
自動アップグレードには、次の利点があります。
- ワークスペース内の各テーブルと機能の組み合わせについて、個々の互換性要件を検証するために必要な管理作業を減らします。 これは、何千ものテーブルを含むカタログがある場合に特に役立ちます。
- マネージド テーブルの最新のパフォーマンスと信頼性の向上を自動的に取得します。
- テーブルを安全にアップグレードする 自動アップグレードでは、ワークロードの互換性を確認した後にのみ機能が有効になります。
自動アップグレードのしくみ
自動アップグレードでは、テーブル レベルとスキーマ レベルの両方で Unity カタログのアクセス パターンを監視し、監視ウィンドウを使用して、機能を有効にする前にアクセス パターンに互換性があることを確認します。 監視ウィンドウは、パブリック プレビューの機能の場合は 50 日、一般公開機能の場合は 100 日です。
自動アップグレードでは、サーバーレス コンピューティングを使用してバックグラウンドでテーブルをアップグレードします。
スキーマとテーブル
自動アップグレードの動作は、自動アップグレードを有効にする前にスキーマとテーブルが存在するかどうかによって異なります。 次の表に、詳細を示します。
| Schema | テーブル | Behavior |
|---|---|---|
| New | New | 自動アップグレードでは、作成時にスキーマ レベルの既定値が設定されるため、テーブルは、監視期間なしでサポートされているすべての機能をすぐに継承します。 |
| Existing | New | 監視ウィンドウ内のテーブルにアクセスしたのが検証済みのワークロードのみである場合、自動アップグレードによって機能が有効になります。 それ以外の場合、検証されていない 1 つのワークロードがテーブルにアクセスした場合、自動アップグレードではテーブルが無視されます。 検証済みのワークロードを参照してください。 |
| Existing | Existing | 自動アップグレードは、次のすべてが当てはまる場合に機能を有効にします。
|
検証済みワークロード
ワークロードは、Databricks Runtime バージョンが機能の最低限必要なバージョン以上の Databricks クラスターからテーブルにアクセスした場合、特定の機能について検証済みと見なされます。
自動アップグレードでは、次のワークロードが確認されていないと見なされます。
- 外部クライアントと、Flink や Presto などのサード パーティのサービス。 Unity カタログの統合を参照してください。
- Azure Databricks のサービスで、標準の Databricks ランタイム アクセス パターンをバイパスして直接またはカーネルレベルのテーブルアクセスを使用するもの (例えば Zerobus) があります。 Zerobus 取り込みコネクタの概要を参照してください。
監視期間中に、スキーマ内のいずれかのテーブルが、その機能の最小要件バージョン未満の Databricks Runtime または外部クライアントからアクセスされていた場合、自動アップグレードでは、そのスキーマ内のどのテーブルでも対応する機能は有効になりません。
サポートされている機能
自動アップグレードでは、一般公開されている機能が自動的に有効になります。 ただし、プレビューに登録しない限り、アップグレードではパブリック プレビューの機能は有効になりません。
自動アップグレードでは、次の機能がサポートされます。
| 特徴 | それが何をするか | リリースの状態 | 互換性のある Databricks ランタイムの最小バージョン |
|---|---|---|---|
| 行の追跡 | 変更データ フィードを使用した増分処理用の非表示の行 ID を保持します。 | 新しいスキーマ内の新しいテーブルで一般提供されています。 既存のスキーマ内のすべてのテーブルのパブリック プレビュー。 | 14.1 |
| チェックポイント V2 | Delta Lake では、より多くの同時実行ライターをサポートでき、大規模または頻繁に更新されるテーブルでの書き込みの競合が軽減されます。 | 新しいスキーマ内の新しいテーブルに対して一般提供開始。 既存のスキーマ内のすべてのテーブルのパブリック プレビュー。 | 13.3 |
| 自動液体クラスタリング | 頻繁にクエリを実行する列に基づいてテーブル データを自動的に整理し、手動によるパーティション分割を行わずにクエリのパフォーマンスを向上させます。 | 新しいスキーマ内の新しいテーブルで一般提供となります。 既存のスキーマの新しいテーブルのパブリック プレビュー。 この機能の自動アップグレードでは、既存のテーブルは無視されます。 | 13.3 |
| カタログのコミット | マルチテーブル トランザクションを許可し、外部書き込みの相互運用性を向上させ、エンジン間のガバナンス ポリシーを許可するために、Unity カタログのコミットを一元化します。 | すべてのスキーマ内のすべてのテーブルのパブリック プレビュー。 | 16.4 |
| 列マッピング | データを書き換えずに列の名前を変更および削除できます。 | すべてのスキーマ内のすべてのテーブルのパブリック プレビュー。 | 15.3 |
機能の可用性は、リージョンによって異なる場合があります。
Requirements
- サーバーレス コンピューティングは、お使いのリージョンで使用できる必要があります。
- テーブルは、Delta Lake または Apache Iceberg 形式の Unity カタログ マネージド テーブルである必要があります。
有効な機能を観察する
テーブルの機能が自動アップグレードで有効になっているかどうかを確認するには、カタログ エクスプローラーの [SET TBLPROPERTIES] タブで操作を探すか、DESCRIBE HISTORY <table_name>を使用します。 自動アップグレードで操作が実行された場合、ユーザー名フィールドには、 4d137f29-62などのユーザー名の代わりにハッシュ値が表示されます。 「 カタログ エクスプローラーとは」 と 「テーブル履歴の表示」を参照してください。
自動アップグレードで新しいスキーマのテーブルの機能が有効になった後、カタログ エクスプローラーの [プロパティ ] タブでスキーマの既定値を表示します。 たとえば、行追跡が有効になっているスキーマには、 catalog.schema.enableRowTracking: "true"などのプロパティが表示されます。 既存のスキーマには、自動アップグレードの監視プロパティはありません。
推奨される機能を管理する
管理者は、さまざまなコントロールを使用してアップグレードの動作と操作を管理できます。
変更を元に戻す
RESTOREを使用して、機能が有効になる前のバージョンにテーブルのデータとメタデータを戻します。
RESTORE TABLE <table_name> TO VERSION AS OF <version>;
RESTORE TABLE <table_name> TO TIMESTAMP AS OF <timestamp>;
テーブル履歴と復元の詳細については、「 テーブルを以前の状態 に復元する」を参照してください。
テーブルの機能をオフにする
個々のテーブルの機能をオフにするには:
ALTER TABLE <table_name> DROP FEATURE <feature_name>
自動アップグレードは、手動で無効にした後で機能を再びオンにすることはありません。
制限事項
- Delta Lake Sharing によって共有されるテーブル (Databricks から Open へのテーブルと Databricks から Databricks へのテーブルの両方) は、自動アップグレードから除外されます。 「Delta Sharing とは」を参照してください。
- 自動アップグレードには、アカウント内のすべてのテーブルで機能をオフにするバッチ ロールバック メカニズムはありません。 自動アップグレードの推奨機能の管理を参照してください。
- 具体化されたビューとストリーミング テーブルはサポートされていません。
- Unity カタログをバイパスし、パスによってテーブルに直接アクセスするワークロードは、自動アップグレードでは追跡されません。 ワークロードでパスベースのアクセスを使用している場合は、アカウント チームに連絡して互換性について話し合ってください。
- 外部テーブルは通常、ファイル パスによってアクセスされ、Unity カタログをバイパスし、外部クライアントから検証されていないワークロードを使用します。 Unity カタログではこれらのアクセス パターンを確実に追跡できないため、外部テーブルは自動アップグレードから除外されます。 「外部テーブルを操作する」を参照してください。