スタンドアロンパイプラインの要件
スタンドアロンのマテリアライズドビューとストリーミングテーブルの作成と更新には、サーバレスが有効で Unity Catalog が有効なワークスペースと、SQLウェアハウスまたはサーバレス汎用コンピュート上のノートブックが必要です。
SQL Warehouseを使用して、スタンドアロンのマテリアライズドビューとストリーミングテーブルを作成および更新できます。CREATEおよびREFRESHステートメントを送信するには、Databricks UI、Databricks SQL CLI、または Databricks SQL API の SQL エディターを使用します。
Serverless一般コンピュート (ベータ) で実行されているノートブックから、スタンドアロンのマテリアライズドビューとストリーミングテーブルを作成および更新することもできます。ノートブックを参照してください。
要件
次の要件は、すべてのスタンドアロンパイプラインに適用されます。
次のものが必要です:
- Serverless が有効になっている Databricks アカウント。Serverless SQLウェアハウスの設定を参照してください。
- Unity Catalog が有効になっているワークスペース。 Unity Catalogの利用開始」を参照してください。
作成または更新の権限
所有者(テーブルを作成したユーザー)は、次の権限を持っている必要があります。
SELECT権限をベーステーブルに対して持っていること。USE CATALOGソーステーブルを含むカタログとスキーマに対するUSE SCHEMA特権。USE CATALOGおよびターゲットカタログおよびスキーマに対するUSE SCHEMA権限。CREATE MATERIALIZED VIEWマテリアライズドビューを含むスキーマに対する特権。CREATE TABLEストリーミングテーブルを含むスキーマに対する特権。レガシー公開モードを使用しているパイプラインでは、マテリアライズドビューに対してCREATE TABLE特権も必要です。
スタンドアロンのマテリアライズドビューまたはストリーミングテーブルを更新するには:
- それを作成したワークスペースに属している必要があります。
- テーブルに対する
REFRESH権限が必要です。所有者はこの権限を暗黙的に持っています。
ソーステーブルの要件
Deltaテーブルからのマテリアライズドビューの増分更新では、ソーステーブルで 行追跡が有効になっている 必要があります。
SQLウェアハウス
SQL Warehouse を使用してスタンドアロンのマテリアライズドビューとストリーミングテーブルを作成または更新するには、Unity Catalog 対応の pro または Serverless SQL Warehouse が必要です。
- ワークスペースは、Serverless SQLウェアハウスをサポートするリージョン内になければなりません。
- サーバレスの 利用規約に同意しておく必要があります。
ノートブック
Serverless汎用コンピュートを使用するノートブックから、スタンドアロンのマテリアライズドビューとストリーミングテーブルを作成および更新できます。
Serverless汎用コンピュート
Serverless汎用コンピュートにアタッチされたノートブックから、スタンドアロンのマテリアライズドビューとストリーミングテーブルを作成および更新できます。このオプションは、SQL Warehouseをプロビジョニングせずに、他のノートブックベースのワークフローと並行してマテリアライズドビューまたはストリーミングテーブルを定義およびランする場合に便利です。
ノートブックで Python を使用してスタンドアロンのマテリアライズドビューとストリーミングテーブルを作成および更新する方法については、スタンドアロン パイプラインでの Python の使用を参照してください。
Serverless汎用コンピュートの要件
- Serverless汎用コンピュートにアタッチされたノートブック。
- Databricks Runtime 18.1以降。インタラクティブノートブックはこの要件を自動的に満たしますが、古いバージョンに固定されたジョブは満たしません。
- ワークスペースはServerless コンピュートをサポートするリージョン内になければなりません。
制限事項
- テーブルの所有者のみがテーブルを更新できます。他のユーザーによる更新を許可するには、所有者を変更します。ストリーミングテーブルの所有者を変更するとマテリアライズドビューの所有者を変更するを参照してください。
- 非同期更新はサポートされていません。代わりに同期更新を使用してください。
- プレビューチャンネルはサポートされていません。Serverless汎用コンピュート上に作成されたテーブルは、
currentチャンネルを使用します。 - テーブルは、作成時と同じコンピュートタイプを使用している場合にのみ更新できます。SQLウェアハウスで作成されたテーブルはSQLウェアハウスで更新する必要があり、Serverlessジェネリックコンピュートで作成されたテーブルはServerlessジェネリックコンピュートで更新する必要があります。コンピュートタイプを確認するには、カタログエクスプローラでテーブルを表示します。
- コストの帰属と管理は利用できません。テーブル単位のコスト帰属が必要な場合は、SQLウェアハウスを使用してください。
- メモリ不足エラーに対する垂直 オートスケールは利用できません。
- スキーマアップグレードの再試行は利用できません。
- 更新時のパフォーマンス モードの選択は使用できません。スケジューリングされた更新のパフォーマンス モードの選択を参照してください。
Serverless汎用コンピュートのノートブックでは、spark.sqlでCREATEとREFRESHのステートメントを送信するか、パイプラインデコレータを使用してPythonでテーブルを定義できます。スタンドアロンパイプラインでの Python の使用を参照してください。
クエリーの要件
スタンドアロンのマテリアライズドビューまたはストリーミングテーブルをクエリーするには、所有者であるか、テーブルに対する SELECT 権限と、その親に対する USE CATALOG および USE SCHEMA 権限が必要です。
以下のコンピュート リソースのいずれかを使用する必要があります。
- SQLウェアハウス
- LakeFlow Pipelines インターフェイス
- 標準アクセス モード コンピュート (旧称 共有アクセス モード)
- Databricks Runtime 15.4 以降の専用アクセスモード コンピュート (旧シングルユーザーアクセスモード) (ワークスペースがServerless コンピュートに対して有効になっている場合)。専用コンピュートでのきめ細かなアクセス制御を参照してください。あなたが所有者の場合、Databricks Runtime 14.3以上を実行している専用アクセスモードのコンピュートを使用できます。
Databricks Runtime 15.3 以下でストリーミングテーブルをクエリーする場合、専用のコンピュートを使用してクエリーできるのは、そのストリーミングテーブルを所有している場合のみです。Databricks Runtime 15.4 LTS 以降では、所有者でなくても専用のコンピュートでパイプラインで生成されたテーブルのクエリがサポートされています。専用のコンピュートを使用してデータ フィルタリング操作を実行すると、Serverless コンピュート リソースの料金が請求される場合があります。専用コンピュートでのきめ細かなアクセス制御を参照してください。
リージョンの可用性
Databricks SQL warehouseを使用して作成および更新されたテーブルは、Serverless Databricks SQL warehouseをサポートするすべてのリージョンで使用できます。
Serverless汎用コンピュート上でのスタンドアロンのマテリアライズドビューとストリーミングテーブルの作成および更新は、Serverlessコンピュートをサポートするすべてのリージョンで使用できます。
両方のコンピュートオプションのサポートされているリージョンのリストについては、Serverlessの可用性を参照してください。