このページでは、スタンドアロンの具体化されたビューとストリーミング テーブルを作成および更新するための要件について説明します。
SQL ウェアハウスを使用して、スタンドアロンの具体化されたビューとストリーミング テーブルを作成および更新できます。
CREATE ステートメントと REFRESH ステートメントを送信するには、Azure Databricks UI、Databricks SQL CLI、または Databricks SQL API で SQL エディターを使用します。
サーバーレス汎用コンピューティング (ベータ、限られたリージョンの可用性) で実行されているノートブックから、スタンドアロンの具体化されたビューとストリーミング テーブルを作成および更新することもできます。 「ノートブック」を参照してください。
一般的な要件
次の要件は、すべてのスタンドアロン パイプラインに適用されます。
以下のものが必要です:
- サーバーレスが有効になっている Azure Databricks アカウント。 サーバーレス SQL ウェアハウスのセットアップを参照してください。
- Unity Catalog が有効になっているワークスペース。 Unity カタログについて始めに知っておくべきことを参照してください
作成または更新を行う権限
所有者 (テーブルを作成するユーザー) には、次のアクセス許可が必要です。
-
SELECTベース テーブルに対する特権。 - ソーステーブルを含むカタログおよびスキーマに対する
USE CATALOG権限およびUSE SCHEMA権限。 -
USE CATALOGおよびターゲット カタログとスキーマに対するUSE SCHEMA特権。 -
CREATE MATERIALIZED VIEWマテリアライズド ビューを含むスキーマに対する権限。 -
CREATE TABLEストリーミング テーブルを含むスキーマに対する特権。 従来の発行モードを使用するパイプラインには、具体化されたビューに対するCREATE TABLE特権も必要です。
スタンドアロンの具体化されたビューまたはストリーミング テーブルを更新するには:
- それを作成したワークスペースにいる必要があります。
- テーブルに対する
REFRESH特権が必要です。 所有者には、この特権が暗黙的に付与されます。
ソース テーブルの要件
Delta テーブルからマテリアライズド ビューを増分更新するには、ソース テーブルで 行追跡が有効になっていることが必要です。
SQL倉庫
SQL ウェアハウスを使用してスタンドアロンの具体化されたビューとストリーミング テーブルを作成または更新するには、Unity カタログ対応のプロまたはサーバーレス SQL ウェアハウスが必要です。
- ワークスペースは、サーバーレス SQL ウェアハウスをサポートするリージョンに存在する必要があります。
Notebooks
サーバーレス汎用コンピューティングを使用して、ノートブックからスタンドアロンの具体化されたビューとストリーミング テーブルを作成および更新できます。
サーバーレス汎用コンピューティング
Important
サーバーレス汎用コンピューティングでのノートブックからのスタンドアロンの具体化されたビューとストリーミング テーブルの作成と更新は 、ベータ版です。 この機能は、一部のリージョンでのみ使用できます。 リージョンの可用性に関する情報を参照してください。
サーバーレス汎用コンピューティングにアタッチされたノートブックから、スタンドアロンの具体化されたビューとストリーミング テーブルを作成および更新できます。 このオプションは、SQL ウェアハウスをプロビジョニングせずに、具体化されたビューやストリーミング テーブルを他のノートブック ベースのワークフローと共に定義して実行する場合に便利です。
サーバーレスの一般的なコンピューティング要件
- サーバーレス汎用コンピューティングにアタッチされたノートブック。
- Databricks Runtime 18.1 以降。 対話型ノートブックはこの要件を自動的に満たしますが、一方で古いバージョンにピン留めされたジョブは自動的には満たしません。
- ワークスペースは 、サポートされているリージョンに存在する必要があります。
制限事項
- テーブルの所有者のみがテーブルを更新できます。 別のユーザーが更新できるようにするには、所有者を変更します。 「 ストリーミング テーブルの所有者を変更する」 および「 具体化されたビューの所有者を変更する」を参照してください。
- 非同期更新はサポートされていません。 代わりに同期更新を使用してください。
- プレビュー チャネルはサポートされていません。 サーバーレス汎用コンピューティングで作成されたテーブルでは、
currentチャネルが使用されます。 - テーブルは、作成されたコンピューティングの種類を使用してのみ更新できます。 SQL ウェアハウスで作成されたテーブルは SQL ウェアハウスで更新する必要があり、サーバーレス汎用コンピューティングで作成されたテーブルはサーバーレス汎用コンピューティングで更新する必要があります。 コンピューティングの種類を確認するには、 カタログ エクスプローラーでテーブルを表示します。
- コスト配分と管理は利用できません。 テーブルごとのコスト属性が必要な場合は、SQL ウェアハウスを使用します。
- メモリ不足エラーの垂直方向の自動スケーリングは使用できません。
- スキーマのアップグレードの再試行は利用できません。
- 更新時のパフォーマンス モードの選択は使用できません。 スケジュールされた更新のパフォーマンス モードを選択するを参照してください。
Note
spark.sql は、サーバーレス汎用コンピューティングでノートブックで更新を実行する場合にサポートされます。
:::
クエリの要件
スタンドアロンのマテリアライズド ビューまたはストリーミング テーブルに対してクエリを実行するには、その所有者であるか、またはそのテーブルに対する SELECT と、その親に対する USE CATALOG および USE SCHEMA を持っている必要があります。
次のいずれかのコンピューティング リソースを使用する必要があります。
- SQL Warehouse
- Lakeflow Spark 宣言型パイプライン インターフェイス
- 標準アクセス モード コンピューティング (以前の共有アクセス モード)
- ワークスペースでサーバーレス コンピューティングが有効になっている場合の、Databricks Runtime 15.4 以降の専用アクセス モードのコンピューティング(旧シングル ユーザー アクセス モード) 専用コンピューティングでのきめ細かなアクセス制御を参照してください。 所有者の場合は、Databricks Runtime 14.3 以降を実行する専用アクセス モード コンピューティングを使用できます。
Databricks Runtime 15.3 以下のストリーミング テーブルの場合は、専用のコンピューティングを使用して、所有している場合にのみストリーミング テーブルに対してクエリを実行できます。 Databricks Runtime 15.4 LTS 以降では、所有者でない場合でも、専用コンピューティングでパイプラインによって生成されたテーブルのクエリがサポートされます。 専用コンピューティングを使用してデータ フィルター処理操作を実行すると、サーバーレス コンピューティング リソースに対して課金される場合があります。 専用コンピューティングでのきめ細かなアクセス制御を参照してください。
リージョン別の提供状況
Databricks SQL ウェアハウスを使用して作成および更新されたテーブルは、サーバーレス Databricks SQL ウェアハウスをサポートするすべてのリージョンで使用できます。
サーバーレス汎用コンピューティングでのスタンドアロンの具体化されたビューとストリーミング テーブルの作成と更新は、一部のリージョンでのみ使用できます。
両方のコンピューティング オプションでサポートされているリージョンの一覧については、「 サーバーレスの可用性」を参照してください。