ALTER STREAMING TABLE

Aplica-se a: marca de seleção positiva SQL do Databricks

Permite que você:

  • Adicionar uma agenda para atualizar uma tabela de streaming existente.
  • Alterar uma agenda de atualização existente para uma tabela de streaming.
  • Eliminar a agenda de atualização de uma tabela de streaming. Se a agenda for descartada, o objeto precisará ser atualizado manualmente para refletir os dados mais recentes.

Sintaxe

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 ] }

Parâmetros

  • table_name

    O nome da tabela de streaming da qual alterar a definição. O nome não deve incluir uma especificação temporal.

  • AGENDAR [ ATUALIZAR ] schedule_clause

    Permite adicionar ou alterar o agendamento de uma tabela de streaming.

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

      Importante

      Esse recurso está em uma versão prévia.

      Para agendar uma atualização que ocorre periodicamente, use EVERY a sintaxe. Se EVERY a sintaxe for especificada, a tabela de streaming ou a exibição materializada será atualizada periodicamente no intervalo especificado com base no valor fornecido, como HOUR, HOURS, DAY, DAYS, , WEEKou WEEKS. A tabela a seguir lista os valores inteiros aceitos para number.

      Time unit Valor inteiro
      HOUR or HOURS <1 = H <= 72
      DAY or DAYS <1 = D <= 31
      WEEK or WEEKS <1 = W <= 8

      Observação

      As formas singular e plural da unidade de tempo incluída são semanticamente equivalentes.

    • CRON cron_string [ AT TIME ZONE timezone_id ]

      Para agendar uma atualização usando um valor cron de quartzo. São aceites time_zone_values válidas. Não há suporte para AT TIME ZONE LOCAL.

      Se AT TIME ZONE estiver ausente, o fuso horário da sessão será usado. Se AT TIME ZONE estiver ausente e o fuso horário da sessão não estiver definido, um erro será lançado. SCHEDULE é semanticamente equivalente a SCHEDULE REFRESH.

Exemplos

-- 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;