次の方法で共有


REFRESH (具体化されたビューとストリーミング テーブル)

適用対象: Databricks SQL

重要

この機能はパブリック プレビュー段階にあります。

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

構文

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;