Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:
Databricks SQL
Umožňuje provádět některou z následujících akcí:
- Přidejte, upravte nebo zahoďte plán nebo trigger pro aktualizaci existující streamované tabulky. Pokud neexistuje žádný plán nebo aktivační událost, je potřeba objekt aktualizovat ručně, aby odrážel nejnovější data.
- Přidat, změnit nebo odstranit filtr řádku pro existující streamovací tabulku.
- Nastavte nebo zrušte nastavení značek pro existující streamovací tabulku.
- Umožňuje změnit vlastnosti sloupce pro existující streamovací tabulku, včetně masek, značek a komentářů.
Pokud chcete přidat nebo změnit komentář ke streamovací tabulce, použijte COMMENT ON.
Poznámka:
Změna datové sady vytvořené kanálem způsobem, který je v rozporu s definicí SQL, může způsobit vrácení některých změn. Viz Použití ALTER příkazů s deklarativními kanály Sparku Lakeflow.
Syntaxe
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 }
Parametry
-
Název tabulky streamovacích dat, u které se má změnit definice. Název nesmí obsahovat dočasnou specifikaci.
rozvrh
Přidejte nebo upravte
SCHEDULEpříkaz neboTRIGGERpříkaz v tabulce.Poznámka:
Pomocí tohoto příkazu nemůžete upravit plán tabulky streamování vytvořené pomocí deklarativních kanálů Sparku Lakeflow. Použijte editor kanálu.
SCHEDULE [ REFRESH ] schedule_clauseEVERY number { HOUR | HOURS | DAY | DAYS | WEEK | WEEKS }Pokud chcete naplánovat aktualizaci, která se pravidelně provádí, použijte
EVERYsyntaxi. Pokud je zadaná syntaxeEVERY, aktualizuje se streamovaná tabulka nebo materializované zobrazení pravidelně v zadaném intervalu na základě zadané hodnoty, napříkladHOUR,HOURS,DAY,DAYS,WEEKneboWEEKS. V následující tabulce jsou uvedeny celočíselné hodnoty pronumber.Časová jednotka Celočíselná hodnota HOUR or HOURS1 <= H <= 72 DAY or DAYS1 <= D <= 31 WEEK or WEEKS1 < = W < = 8 Poznámka:
Jednotné a množné číslo zahrnuté časové jednotky jsou sémanticky ekvivalentní.
CRON cron_string [ AT TIME ZONE timezone_id ]Pro naplánování aktualizace pomocí hodnoty quartz cron. Jsou přijímány platné time_zone_values .
AT TIME ZONE LOCALnení podporováno.Výraz cron používá šest polí oddělených mezerami v pořadí:
seconds minutes hours day-of-month month day-of-week. Slouží?kday-of-monthtomu, aby buď byla nezadaná, neboday-of-weekji nechte nezadanou.Například
SCHEDULE CRON '0 0 0 * * ?' AT TIME ZONE 'UTC'aktualizuje každý den o půlnoci UTC.Pokud
AT TIME ZONEchybí, použije se časové pásmo relace. PokudAT TIME ZONEchybí a pokud není nastavené časové pásmo relace, vyvolá se chyba.SCHEDULEje sémanticky ekvivalentníSCHEDULE REFRESH.
TRIGGER ON UPDATE [ AT MOST EVERY trigger_interval ]Nastaví tabulku tak, aby se aktualizovala při aktualizaci nadřazeného zdroje dat, a to maximálně jednou za minutu. Nastavte hodnotu tak
AT MOST EVERY, aby vyžadovala alespoň minimální čas mezi aktualizacemi.Nadřazené zdroje dat musí být externí nebo spravované tabulky Delta (včetně materializovaných zobrazení nebo streamovaných tabulek) nebo spravovaná zobrazení, jejichž závislosti jsou omezené na podporované typy tabulek.
Povolení událostí souborů může zvýšit výkon triggerů a zvýšit některé limity pro aktualizace triggerů.
Jedná se
trigger_intervalo příkaz INTERVAL , který je alespoň 1 minuta.TRIGGER ON UPDATEmá následující omezení- Maximálně 10 nadřazených zdrojů dat na tabulku streamování při použití TRIGGER ON UPDATE.
- Pomocí triggeru ON UPDATElze zadat maximálně 1000 streamovaných tabulek nebo materializovaných zobrazení.
- Výchozí
AT MOST EVERYhodnota klauzule je 1 minuta a nesmí být menší než 1 minuta.
DROP SCHEDULEOdebere časový plán z tabulky streamování.
ALTER COLUMN clauseViz klauzule ALTERCOLUMN.
-
platí pro:
Databricks SQL
Databricks Runtime 16.2 a novějšíPřidá funkci filtru řádků do tabulky streamování. Všechny následné dotazy do streamované tabulky obdrží podmnožinu řádků, ve kterých se funkce vyhodnotí jako logické
TRUE. To může být užitečné pro jemně odstupňované řízení přístupu, kdy funkce může zkontrolovat identitu nebo členství ve skupině uživatele, který funkci vyvolává, a určit, zda se mají určité řádky filtrovat.Filtry řádků přidané po vytvoření se po příští aktualizaci rozšíří pouze do podřízených tabulek. U průběžných kanálů to vyžaduje restartování kanálu.
DROP ROW FILTERplatí pro:
Databricks SQL
Databricks Runtime 16.2 a novějšíOdstraní filtr řádků z tabulky pro streamování, pokud existuje. Budoucí dotazy vrátí všechny řádky z tabulky bez automatického filtrování.
SET TAGS ( { tag_name = tag_value } [, ...] )Platí pro:
Databricks SQL
Databricks Runtime 16.3 a vyššíPoužijte značky u tabulky streamování. Musíte mít
APPLY TAGoprávnění k přidání značek do streamované tabulky.tag_nameLiterál
STRING.tag_namemusí být jedinečný v tabulce streamování.tag_valueLiterál
STRING.
UNSET TAGS ( tag_name [, ...] )Platí pro:
Databricks SQL
Databricks Runtime 16.3 a vyššíOdeberte značky ze streamované tabulky. Musíte mít
APPLY TAGoprávnění k odebrání značek ze streamovací tabulky.tag_nameLiterál
STRING.tag_namemusí být jedinečný v tabulce streamování.
Klauzule ALTER COLUMN
Změní vlastnost nebo umístění sloupce.
Syntaxe
ALTER COLUMN
column_identifier
{ COMMENT comment |
SET MASK mask_clause |
DROP MASK |
SET TAGS clause |
UNSET TAGS clause }
Parametry
-
Název sloupce, který má být změněn.
COMMENT commentplatí pro:
Databricks SQL
Databricks Runtime 16.2 a novějšíZmění popis
column_namesloupce.commentmusí býtSTRINGliterál.SETKlauzule MASKplatí pro:
Databricks SQL
Databricks Runtime 16.2 a novějšíPřidá funkci masky sloupce pro anonymizaci citlivých dat. Všechny následné dotazy z tohoto sloupce obdrží výsledek vyhodnocení této funkce místo původní hodnoty sloupce. To může být užitečné pro podrobné řízení přístupu, kdy funkce může zkontrolovat identitu nebo skupinové členství vyvolávajícího uživatele a určit, zda má být hodnota zredigována.
Masky sloupců přidané po vytvoření se po příští aktualizaci rozšíří pouze do podřízených tabulek. U průběžných kanálů to vyžaduje restartování kanálu.
DROP MASKplatí pro:
Databricks SQL
Databricks Runtime 16.2 a novějšíOdebere masku sloupce pro tento sloupec( pokud existuje). Budoucí dotazy z tohoto sloupce obdrží původní hodnoty sloupce.
SET TAGS ( { tag_name = tag_value } [, ...] )Platí pro:
Databricks SQL
Databricks Runtime 16.3 a vyššíPoužijte značky u sloupce. Ke přidávání značek do sloupce potřebujete
APPLY TAGoprávnění.tag_name
Literál
STRING. Musítag_namebýt jedinečný v tabulce nebo sloupci.tag_value
Literál
STRING.
UNSET TAGS ( tag_name [, ...] )Platí pro:
Databricks SQL
Databricks Runtime 16.3 a vyššíOdstraňte zadané značky ze sloupce. Musíte mít
APPLY TAGoprávnění k odebrání značek ze sloupce.tag_name
Literál
STRING. Musítag_namebýt jedinečný v tabulce nebo sloupci.
Příklady
-- 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'