Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:
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
-
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
SCHEDULEinstrucción oTRIGGERen 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_clauseEVERY number { HOUR | HOURS | DAY | DAYS | WEEK | WEEKS }Para programar una actualización que se produce periódicamente, use
EVERYla sintaxis . SiEVERYse especifica la sintaxis, la tabla de streaming o la vista materializada se actualiza periódicamente en el intervalo especificado según el valor proporcionado, comoHOUR,HOURS,DAY,DAYS,WEEKoWEEKS. En la tabla siguiente se enumeran los valores enteros aceptados paranumber.Unidad de tiempo Valor entero HOUR or HOURS1 <= H <= 72 DAY or DAYS1 <= D <= 31 WEEK or WEEKS1 <= 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 ZONEno está presente, se usa la zona horaria de la sesión. SiAT TIME ZONEno está presente y no se establece la zona horaria de la sesión, se produce un error.SCHEDULEes equivalente semánticamente aSCHEDULE REFRESH.
TRIGGER ON UPDATE [ AT MOST EVERY trigger_interval ]Importante
La
TRIGGER ON UPDATEcaracterí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 EVERYque 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_intervales una instrucción INTERVAL que es al menos 1 minuto.TRIGGER ON UPDATEtiene 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 EVERYcláusula tiene como valor predeterminado 1 minuto y no puede ser inferior a 1 minuto.
DROP SCHEDULEElimina un programa de la tabla de transmisión.
ALTER COLUMN clauseConsulte la cláusula ALTERCOLUMN.
-
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 FILTERImportante
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 TAGpara agregar etiquetas a la tabla de streaming.tag_nameUn literal de
STRING.tag_namedebe ser único dentro de la tabla de streaming.tag_valueUn 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 TAGpermiso para quitar etiquetas de la tabla de transmisión.tag_nameUn literal de
STRING.tag_namedebe 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
-
Nombre de la columna que se va a modificar.
COMMENT commentCambia la descripción de la columna
column_name.commentdebe ser un literal deSTRING.SETCláusula MASKAgrega 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 MASKQuita 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 TAGpara agregar etiquetas a la columna.tag_name
Un literal de
STRING. Eltag_namedebe 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 TAGpara quitar etiquetas de la columna.tag_name
Un literal de
STRING. Eltag_namedebe 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'