すべてのLakeflowパイプラインパイプラインは、サーバーレスまたはクラシックコンピュートのいずれかでアップデートを実行します。 計算タイプはパイプラインごとに設定されるもので、パイプラインの設定で選択できます。 自動ではありません。パイプラインは、Serverless 設定を有効にした場合にのみサーバーレス コンピューティングで実行され、それ以外の場合はクラシック コンピューティングで実行されます。 このページでは、2つの選択肢を比較し、それぞれのパイプラインに合った選択肢を選べるようにしています。
Databricksはほぼすべてのパイプラインでサーバーレスコンピュートを推奨しています。 サーバーレスなら、Azure Databricksがインフラを管理してくれます。 クラスタのサイズ調整、設定、保護、権限付与は必要がなく、インクリメンタルリフレッシュや垂直自動スケーリングなど、クラシックコンピュートでは提供できない機能が利用できます。 クラシックなコンピュートでは、そのインフラはあなたの責任で設定と維持管理が行われます。 Serverless は、従来のコンピュートでできることのほぼすべてをサポートします。 例外はレガシーなHiveメタストアと一部のネットワーク構成です。 ほとんどのパイプラインにとって、クラシックなコンピュートを選ぶということは、サーバーレスで処理される手動作業を負担することを意味します。
Important
物質化されたビューのインクリメンタルリフレッシュはサーバーレスパイプラインでのみ利用可能です。 クラシック計算で動作するマテリアル化されたビューは常に完全に再計算されます。 もしワークロードにインクリメンタルリフレッシュが必要なら、サーバーレスコンピュートを使いましょう。 「具体化されたビューの増分更新」をご覧ください。
計算オプションの比較
以下の表は、サーバーレス計算とクラシック計算を、選択を左右する機能の比較を示しています。
| 能力 | Serverless | Classic |
|---|---|---|
| インフラストラクチャの管理 | Azure Databricksはすべてのインフラを管理しています。 クラスター構成はありません。 | クラスターの設定は、自動スケーリング、インスタンスタイプ、クラスタポリシーなどを設定する必要があります。 |
| マテリアライズド ビューの増分更新 | Supported. マテリアライズされたビューは、コスト効率が良いときに段階的にリフレッシュされ、計算コストを削減します。 「具体化されたビューの増分更新」をご覧ください。 | サポートされていません。 具体化されたビューは常に完全に再計算されます。 |
| Autoscaling | 水平方向(エグゼキューター増加)と垂直方向(エグゼキューターが大きくなる)スケールする強化されたオートスケーリング。 自動スケーリングを使用した Lakeflow パイプライン クラスターの使用率の最適化に関する説明を参照してください。 | 水平方向にスケールする強化されたオートスケーリング。 インスタンスの種類を選択します。 |
| ストリームパイプライン | 既定で有効になっています。 マイクロバッチは同時に実行され、スループットとレイテンシが向上します。 サーバーレス パイプラインの構成を参照してください。 | 未提供 |
| コンピュート作成権限 | 必要なし。 すべてのワークスペースユーザーはデフォルトでサーバーレスパイプラインを実行できます。 | 必須です。 ユーザーは制限のないクラスタ作成権限か、コンピュートポリシーへのアクセスが必要です。 |
| 計算ポリシーとインスタンスタイプ | 管理はAzure Databricks。 インスタンスタイプやコンピュートポリシーを設定する必要はありません。 | 手動で計算ポリシーを適用し、ワーカーとドライバーのインスタンスタイプを選択します。 |
| Unity カタログ | 常にUnity Catalogを使っています。 | Unity CatalogやレガシーのHiveメタストアを使えます。 |
| コスト配分 | サーバーレス使用ポリシーでカスタムタグを適用してください。 | パイプラインにカスタムタグを適用してください。 タグデータを請求データに手動で結合する必要があります。 |
| アップデートおよびメンテナンスクラスター | 管理はAzure Databricks。 | アップデートクラスターとメンテナンスクラスターは別々に設定します。 |
| シングルノード計算 | 必要ありません。 Azure Databricks サイズはワークロードに対して自動的に計算します。 | 小規模または非分散ワークロード向けにシングルノード計算を設定します。 |
サーバーレスコンピュートを使うべきタイミング
以下のクラシック限定の制限に満たないパイプラインにはサーバーレスコンピュートを使いましょう。 特に、サーバーレスは以下の場合に適切な選択です:
- クラスターを自分で設定・保守する代わりに、Azure Databricksにインフラ管理(垂直自動スケーリングやインスタンス選択など)を任せたいのです。
- リフレッシュコストを減らすために、マテリアル化されたビューにはインクリメンタルリフレッシュが必要です。
- ワークスペースユーザーがクラスタ作成権限なしでパイプラインを実行できるようにするのが望ましいです。
サーバーレスパイプラインは、Unity Catalogが有効でサーバーレス対応の領域を持つワークスペースが必要です。 要件とセットアップについては 「サーバーレスパイプラインの設定」をご覧ください。
クラシック計算を使うべきタイミング
サーバーレスはほぼすべてのパイプラインワークロードをサポートしているため、サーバーレスでパイプラインを実行できない場合のみクラシックコンピュートを使いましょう。
- テーブルはUnity Catalogではなく、レガシーのHiveメタストアを使っています。 HiveメタストアテーブルをUnity Catalogに移行し、サーバーレスを有効にするには、「 HiveテーブルとビューをUnity Catalogにアップグレードする」をご覧ください。
- あなたのパイプラインはサーバーレスがサポートしないプライベートネットワーキングを必要とします。
- あなたのパイプラインはサーバーレスが利用できない地域で運用されています。
従来のコンピュート、コンピュートポリシー、インスタンスタイプ、単一ノードコンピュート、そして個別のアップデートとメンテナンスクラスターは自分で設定・維持でき、サーバーレスが代わりに対応しています。
設定および設定オプションについては、「 パイプラインのクラシックコンピュートの設定」を参照してください。
計算型を設定します
パイプラインの Compute 設定で Serverless 設定を有効または無効にすることで、計算タイプを選択します。 新しいパイプラインはデフォルトでサーバーレスを採用しています。 Unity Catalogで設定した既存のパイプラインをサーバーレスに変換することもできます。
- サーバーレスパイプラインの設定および変換については、「 サーバーレスパイプラインの設定」を参照してください。
- クラシック計算の設定については、「 パイプラインのクラシック計算の設定」を参照してください。