次の方法で共有


REFRESH (MATERIALIZED VIEW または STREAMING TABLE)

適用対象: Databricks SQL

ストリーミング テーブルまたは具体化されたビューのデータを更新します。 データは既定では同期的に更新されます。 DESCRIBE EXTENDED を実行することで更新の状態を追跡できます。

Note

具体化されたビューとストリーミング テーブルに対する作成および更新操作は、サーバーレス Delta Live Tables パイプラインを利用します。 カタログ エクスプローラーを使用して、UI のバッキング パイプラインの詳細を表示できます。 「カタログ エクスプローラーとは」を参照してください。

構文

REFRESH { MATERIALIZED VIEW | [ STREAMING ] TABLE } table_name [ FULL | { SYNC | ASYNC }]

パラメーター

  • table_name

    更新する具体化されたビューまたはストリーミング テーブルを識別します。 この名前には、テンポラル仕様を含めることはできません。 オブジェクトが見つからない場合、Azure Databricks で TABLE_OR_VIEW_NOT_FOUND エラーが発生します。

  • FULL

    完全更新を実行するかどうか。

    • 具体化されたビューの場合、完全更新によってソースで使用可能なすべてのデータが処理されます。
    • ストリーミング テーブルの場合、完全な更新によりテーブルが切り詰められ、ストリーミング テーブルの最新の定義を使ってソースで利用できるすべてのデータが処理されます。

    完全更新では既存のデータが切り詰められるため、データの履歴全体を保持しないソースや、Kafka など、保持期間が短いソースの場合、完全更新の呼び出しは推奨されません。 ソースでデータが使用できなくなった場合、古いデータを回復できないことがあります。

  • 同期

    同期更新を実行するかどうか。 具体化されたビューまたはストリーミング テーブルが作成されて最初のデータの読み込みが完了するまで、このコマンドがブロックします。

    これが既定の動作です。

  • ASYNC

    Delta Live Tables でバックグラウンド ジョブを開始する非同期更新を実行するかどうか。 このコマンドは、具体化されたビューまたはストリーミング テーブルをバッキングする Delta Live Tables パイプラインへのリンクを使用して、データの読み込みが完了する直前に返されます。 リンクにアクセスして、更新の状態を確認できます。

    非同期更新を実行する場合は、ASYNC を指定する必要があります。 キーワードが指定されていない場合、操作は同期的に実行されます。

-- Refreshes the materialized view to reflect the latest available data
> REFRESH MATERIALIZED VIEW catalog.schema.view_name;

-- Refreshes the streaming table to process the latest available data
-- The current catalog and schema will be used to qualify the table
> REFRESH STREAMING TABLE st_name;

-- Truncates the table and processes all data from scratch for the streaming table
> REFRESH TABLE cat.db.st_name FULL;