共用方式為


ALTER STREAMING TABLE

適用於:核取記號為「是」 Databricks SQL

可讓您:

  • 新增重新整理現有串流數據表的排程。
  • 改變串流數據表的現有重新整理排程。
  • 卸除串流數據表的重新整理排程。 如果卸除排程,則必須手動重新整理物件,以反映最新的數據。

若要在資料表或其欄位上新增或變更註解,請使用 COMMENT ON

語法

ALTER STREAMING TABLE table_name
  {
    { 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 ] }

參數

  • table_name

    要改變 定義之串流數據表的名稱。 名稱不得包含時態性規格

  • 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

      注意

      內含時間單位的單數和複數形式在語意上相等。

    • CRON cron_string [ AT TIME ZONE timezone_id ]

      使用晶體 cron 值來排程重新整理。 接受有效的 time_zone_values 。 不支援 AT TIME ZONE LOCAL

      如果 AT TIME ZONE 不存在,則會使用工作階段時區。 如果 AT TIME ZONE 不存在且未設定工作階段時區,則會擲回錯誤。 SCHEDULE 在語意上相當於 SCHEDULE REFRESH

範例

-- Adds a schedule to refresh the streaming table once a day
-- at midnight in Los Angeles
> ALTER STREAMING TABLE my_st
  ADD SCHEDULE CRON '0 0 0 * * ? *' AT TIME ZONE 'America/Los_Angeles';

-- Alters the schedule to run every 15 minutes for a streaming table
> ALTER STREAMING TABLE my_st
  ALTER SCHEDULE CRON '0 0/15 * * * ? *';

-- Drops the schedule for a streaming table
> ALTER STREAMING TABLE my_st
  DROP SCHEDULE;