Compartir a través de


ALTER STREAMING TABLE

Se aplica a:casilla marcada como Sí Databricks SQL

Permite realizar cualquiera de las siguientes acciones:

  • Agregue una programación o un desencadenador para actualizar una tabla de streaming existente.
  • Modifique una programación de actualización existente o un desencadenador para una tabla de streaming.
  • Quite la programación de actualización o el desencadenador de una tabla de streaming. Si no hay ninguna programación o desencadenador, el objeto debe actualizarse manualmente para reflejar los datos más recientes.

Para agregar o modificar un comentario en una tabla de streaming, use COMMENT ON.

Nota:

Modificar un conjunto de datos creado por la canalización de maneras que contradigan la definición de SQL puede hacer que se reviertan algunos cambios. Vea Uso de ALTER comandos con canalizaciones declarativas de Spark de Lakeflow.

Sintaxis

ALTER STREAMING TABLE table_name
  {
    { ADD | ALTER } schedule
    DROP SCHEDULE |
    ALTER COLUMN column_clause |
    SET ROW FILTER clause |
    DROP ROW FILTER |
    SET TAGS clause |
    UNSET TAGS clause |
  }

  schedule
  { SCHEDULE [ REFRESH ] schedule_clause |
    TRIGGER ON UPDATE [ AT MOST EVERY trigger_interval ] }

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

  column_clause
    column_identifier
    { COMMENT clause |
      SET MASK clause |
      DROP MASK |
      SET TAGS clause |
      UNSET TAGS clause }

Parámetros

  • table_name

    Nombre de la tabla de streaming de la que se va a modificar la definición. El nombre no debe incluir una especificación temporal.

  • horario

    Agregue o modifique una SCHEDULE instrucción o TRIGGER en la tabla.

    Nota:

    No se puede modificar la programación de una tabla de transmisión creada con Spark Lakeflow Declarative Pipelines con este comando. Use el editor de canalización.

    • SCHEDULE [ REFRESH ] schedule_clause

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

        Para programar una actualización que se produce periódicamente, use EVERY la sintaxis . Si EVERY se especifica la sintaxis, la tabla de streaming o la vista materializada se actualiza periódicamente en el intervalo especificado según el valor proporcionado, como HOUR, HOURS, DAY, DAYS, WEEKo WEEKS. En la tabla siguiente se enumeran los valores enteros aceptados para number.

        Unidad de tiempo Valor entero
        HOUR or HOURS 1 <= H <= 72
        DAY or DAYS 1 <= D <= 31
        WEEK or WEEKS 1 <= W <= 8

        Nota:

        Las formas singulares y plurales de la unidad de tiempo incluida son semánticamente equivalentes.

      • CRON cron_string [ AT TIME ZONE timezone_id ]

        Para programar una actualización utilizando un valor cron de cuarzo. Se aceptan time_zone_values válidos. No se admite AT TIME ZONE LOCAL.

        Si AT TIME ZONE no está presente, se usa la zona horaria de la sesión. Si AT TIME ZONE no está presente y no se establece la zona horaria de la sesión, se produce un error. SCHEDULE es equivalente semánticamente a SCHEDULE REFRESH.

    • TRIGGER ON UPDATE [ AT MOST EVERY trigger_interval ]

      Importante

      La TRIGGER ON UPDATE característica está en beta.

      Establece la tabla que se va a actualizar cuando se actualiza un origen de datos ascendente, como máximo una vez cada minuto. Establezca un valor para para AT MOST EVERY que requiera al menos un tiempo mínimo entre las actualizaciones.

      Los orígenes de datos ascendentes deben ser tablas Delta externas o administradas (incluidas las vistas materializadas o las tablas de streaming) o vistas administradas cuyas dependencias están limitadas a los tipos de tabla admitidos.

      La habilitación de eventos de archivo puede hacer que los desencadenadores sean más eficaces y aumenta algunos de los límites de las actualizaciones del desencadenador.

      trigger_interval es una instrucción INTERVAL que es al menos 1 minuto.

      TRIGGER ON UPDATE tiene las siguientes limitaciones

      • No más de 10 orígenes de datos ascendentes por tabla de streaming cuando se usa TRIGGER ON UPDATE.
      • Se puede especificar un máximo de 1000 tablas de streaming o vistas materializadas con TRIGGER ON UPDATE.
      • La AT MOST EVERY cláusula tiene como valor predeterminado 1 minuto y no puede ser inferior a 1 minuto.
  • DROP SCHEDULE

    Elimina un programa de la tabla de transmisión.

  • ALTER COLUMN clause

    Consulte la cláusula ALTERCOLUMN.

  • SET Cláusula ROW FILTER

    Importante

    Esta característica está en versión preliminar pública.

    Agrega una función de filtro de fila a la tabla de streaming. Todas las consultas posteriores a la tabla de streaming reciben un subconjunto de las filas donde la función se evalúa como booleana TRUE. Esto puede ser útil para fines de control de acceso específicos en los que la función puede inspeccionar la identidad o las pertenencias a grupos del usuario que realiza la invocación para decidir si se filtran determinadas filas.

    Los filtros de fila agregados después de la creación solo se propagan a las tablas en flujo descendente después de la siguiente actualización. En el caso de las canalizaciones continuas, esto requiere un reinicio de canalización.

  • DROP ROW FILTER

    Importante

    Esta característica está en versión preliminar pública.

    Quita el filtro de fila de la tabla de streaming, si existe. Las consultas futuras devuelven todas las filas de la tabla sin ningún filtrado automático.

  • SET TAGS ( { tag_name = tag_value } [, ...] )

    Importante

    Esta característica está en versión preliminar pública.

    Aplique etiquetas a la tabla de streaming. Debe tener el permiso APPLY TAG para agregar etiquetas a la tabla de streaming.

    • tag_name

      Un literal de STRING. tag_name debe ser único dentro de la tabla de streaming.

    • tag_value

      Un literal de STRING.

  • UNSET TAGS ( tag_name [, ...] )

    Importante

    Esta característica está en versión preliminar pública.

    Quite las etiquetas de la tabla de streaming. Es necesario tener APPLY TAG permiso para quitar etiquetas de la tabla de transmisión.

    • tag_name

      Un literal de STRING. tag_name debe ser único dentro de la tabla de streaming.

Cláusula ALTER COLUMN

Importante

Esta característica está en versión preliminar pública.

Cambia una propiedad o la ubicación de una columna.

Sintaxis

  ALTER COLUMN
    column_identifier
    { COMMENT comment |
      SET MASK mask_clause |
      DROP MASK |
      SET TAGS clause |
      UNSET TAGS clause }

Parámetros

  • column_identifier

    Nombre de la columna que se va a modificar.

  • COMMENT comment

    Cambia la descripción de la columna column_name. comment debe ser un literal de STRING.

  • SET Cláusula MASK

    Agrega una función de máscara de columna para anonimizar datos confidenciales. Todas las consultas posteriores de esa columna recibirán el resultado de evaluar esa función sobre la columna en lugar del valor original de la columna. Esto puede ser útil para fines de control de acceso específicos en los que la función puede inspeccionar la identidad o las pertenencias a grupos del usuario que realiza la invocación para decidir si expurga el valor.

    Las máscaras de columna agregadas después de la creación solo se propagan a las tablas descendentes después de la siguiente actualización. En el caso de las canalizaciones continuas, esto requiere un reinicio de canalización.

  • DROP MASK

    Quita la máscara de columna de esta columna, si existe. Las consultas futuras de esta columna recibirán los valores originales de la columna.

  • SET TAGS ( { tag_name = tag_value } [, ...] )

    Aplique etiquetas a la columna. Debe tener el permiso APPLY TAG para agregar etiquetas a la columna.

    • tag_name

      Un literal de STRING. El tag_name debe ser único en la tabla o columna.

    • tag_value

      Un literal de STRING.

  • UNSET TAGS ( tag_name [, ...] )

    Quite las etiquetas especificadas de la columna. Debe tener el permiso APPLY TAG para quitar etiquetas de la columna.

    • tag_name

      Un literal de STRING. El tag_name debe ser único en la tabla o columna.

Ejemplos

-- Adds a schedule to refresh the streaming table whenever its upstream data gets updated.
> ALTER STREAMING TABLE my_st
    ADD TRIGGER ON UPDATE;

-- Alters the schedule to refresh the streaming table when its upstream data
-- gets updated, with no more than one update per hour.
> ALTER STREAMING TABLE my_st
    ALTER TRIGGER ON UPDATE AT MOST EVERY INTERVAL 1 hour;

-- Alters the schedule to run every one hour.
> ALTER STREAMING TABLE my_st
  ALTER SCHEDULE EVERY 1 HOUR;

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

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

-- Adds a column comment
> ALTER STREAMING TABLE my_st
    ALTER COLUMN column_name COMMENT 'test'