次の方法で共有


ALTER MATERIALIZED VIEW

適用対象: Databricks SQL

ビューに関連付けられたメタデータを変更します。

次のいずれかのアクションを実行できます。

  • 既存の具体化されたビューを更新するためのスケジュールを追加します。
  • 具体化されたビューの既存の更新スケジュールを変更します。
  • 具体化されたビューの更新スケジュールを削除します。 スケジュールが削除された場合、最新のデータを反映するには、オブジェクトを手動で更新する必要があります。

構文

ALTER MATERIALIZED VIEW view_name
  { schedule }

schedule
  {
    { ADD | ALTER } SCHEDULE [ REFRESH ]
      schedule_clause |
    DROP SCHEDULE
  }

  schedule_clause
    { EVERY number { HOUR | HOURS | DAY | DAYS | WEEK | WEEKS } |
    CRON cron_string [ AT TIME ZONE timezone_id ] }

パラメーター

  • SCHEDULE [ REFRESH ] schedule_clause

    具体化されたビューにスケジュールを追加したり、スケジュールを変更したりできます。

    • EVERY number { HOUR | HOURS | DAY | DAYS | WEEK | WEEKS }

      重要

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

      定期的に更新をスケジュールするには、 EVERY 構文を使用します。 EVERY構文が指定されている場合、ストリーミング テーブルまたは具体化されたビューは、指定された値 (HOURHOURSDAYDAYSWEEKWEEKSなど) に基づいて、指定した間隔で定期的に更新されます。 次の表に、 numberに使用できる整数値を示します。

      Time unit 整数値
      HOUR or HOURS 1 <= H <= 72
      DAY or DAYS 1 <= D <= 31
      WEEK or WEEKS 1 <= W <= 8

      Note

      含まれる時間単位の単数形と複数形は、意味的に同等です。

    • CRON cron_string [ AT TIME ZONE timezone_id ]

      quartz cron 値を使用して更新をスケジュールします。 有効な time_zone_values が受け入れられます。 AT TIME ZONE LOCAL はサポートされません。

      AT TIME ZONE が存在しない場合は、セッション タイム ゾーンが使用されます。 AT TIME ZONE が存在せず、セッション タイム ゾーンも設定されていない場合は、エラーがスローされます。 SCHEDULE は意味的に SCHEDULE REFRESH と同等です。


  -- Adds a schedule to refresh a materialized view once a day
  -- at midnight in Los Angeles
  > ALTER MATERIALIZED VIEW my_mv
      ADD SCHEDULE CRON '0 0 0 * * ? *' AT TIME ZONE 'America/Los_Angeles';

  -- Alters the schedule to run every 15 minutes for a materialized view
  > ALTER MATERIALIZED VIEW my_mv
      ALTER SCHEDULE CRON '0 0/15 * * * ? *';

  -- Drops the schedule for a materialized view
  > ALTER MATERIALIZED VIEW my_mv
      DROP SCHEDULE;