共用方式為


ALTER STREAMING TABLE

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

可讓您:

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

若要在 table 或其 columns上新增或改變批注,請使用 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 ] }

Parameters

  • table_name

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

  • 排程 [ REFRESH ] 排程條款

    可讓您將排程新增至或變更串流 table的排程。

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

      若要排程定期發生的 refresh,請使用 EVERY 語法。 如果指定了 EVERY 語法,則會根據提供的值定期以指定的間隔重新整理串流 table 或具體化檢視,例如 HOURHOURSDAYDAYSWEEKWEEKS。 下列 table 針對 number列出接受的整數 values。

      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 ]

      使用 值來排程 refresh。 接受有效的 time_zone_values 。 不支援 AT TIME ZONE LOCAL

      如果 AT TIME ZONE 不存在,則會使用工作階段時區。 如果 AT TIME ZONE 不存在,且會話時區未 set,則會擲回錯誤。 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 EVERY 15 MINUTES;

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