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.
Na této stránce se dozvíte, jak pomocí strukturovaného streamování s katalogem Unity spravovat zásady správného řízení dat pro přírůstkové a streamované úlohy v Azure Databricks.
Jaké funkce strukturovaného streamování podporuje Katalog Unity?
Katalog Unity nepřidává žádná explicitní omezení pro zdroje strukturovaného streamování a jímky dostupné na Azure Databricks.
S katalogem Unity a strukturovaným streamováním můžete:
- Streamovat data ze spravovaných i externích tabulek Podívejte se na tabulky spravované službou Unity Catalog v Azure Databricks pro Delta Lake a Apache Iceberg.
- Používejte externí umístění spravovaná službou Unity Catalog pro práci s daty pomocí identifikátorů URI objektového úložiště.
- Zapisujte do externích tabulek pomocí názvů tabulek nebo cest k souborům Pokud chcete pracovat se spravovanými tabulkami, musíte použít název tabulky.
Pro kontrolní body strukturovaného streamování musíte použít cesty v externích umístěních spravovaných službou Unity Catalog. Další informace o bezpečném připojení úložiště pomocí katalogu Unity najdete v tématu Připojení ke cloudovému úložišti objektů pomocí katalogu Unity.
čtení zobrazení katalogu Unity jako datového proudu
Ve verzi Databricks Runtime 14.3 LTS a vyšší můžete pomocí strukturovaného streamování číst ze zobrazení zaregistrovaných v katalogu Unity. Podkladové tabulky musí používat formát Delta Lake. Další omezení najdete v tématu Omezení.
Pokud chcete přečíst zobrazení se strukturovaným streamováním, použijte .table() metodu s identifikátorem zobrazení:
df = (spark.readStream
.table("demoView")
)
Uživatelé musí mít SELECT oprávnění k cílovému zobrazení.
Pokud upravíte definici zobrazení a přidáte nebo změníte tabulky odkazované v zobrazení, nemůžete použít stejný kontrolní bod streamování.
Podporované možnosti streamování
Streamovací čtečka aplikuje možnosti na soubory a metadata podkladových tabulek Delta pro zadané zobrazení.
Podporují se následující možnosti:
maxFilesPerTriggermaxBytesPerTriggerignoreDeletesskipChangeCommitswithEventTimeOrderstartingTimestampstartingVersion
Čtení v zobrazeních s UNION ALL nepodporuje možnosti withEventTimeOrder a startingVersion.
Pokud zadáte nepodporované možnosti, například readChangeFeed, Spark vyvolá tuto výjimku:
AnalysisException: [UNSUPPORTED_STREAMING_OPTIONS_FOR_VIEW.UNSUPPORTED_OPTION] Unsupported for streaming a view. Reason: option <option> is not supported.
Podporované operace streamování
Mezi podporované operace patří:
| Operace | Description | Operator | Example |
|---|---|---|---|
| Projekt | Řídí oprávnění na úrovni sloupce. | SELECT... FROM... |
CREATE VIEW project_view AS SELECT id, value FROM source_table |
| Filtr | Řídí oprávnění na úrovni řádků. | WHERE... |
CREATE VIEW filter_view AS SELECT * FROM source_table WHERE value > 100 |
| Sjednocovat vše | Výsledky z více tabulek | UNION ALL |
CREATE VIEW union_view AS SELECT id, value FROM source_table1 UNION ALL SELECT * FROM source_table2 |
Mezi nepodporované operace patří agregace, řazení a funkce s hodnotami tabulky, například table_changes(). Podrobnosti o funkcích s hodnotami tabulky najdete v tématu Volání funkce TVF (Table-valued).
Pokud streamujete ze zobrazení s nepodporovanou operací, Spark vyvolá tuto výjimku:
UnsupportedOperationException: [UNEXPECTED_OPERATOR_IN_STREAMING_VIEW] Unexpected operator <operator> in the CREATE VIEW statement as a streaming source. A streaming view query must consist only of SELECT, WHERE, and UNION ALL operations.
omezení
- Režim průběžného zpracování Apache Sparku se nepodporuje. Viz průběžné zpracování v průvodci programováním strukturovaného streamování Sparku.
- Pro seznam funkcí Structured Streaming, které nejsou podporovány v Unity Catalogu podle režimu přístupu k výpočetním prostředkům, viz Omezení streamování a Požadavky na streamování a materializované pohledy na vyhrazených výpočetních prostředcích.
- Zobrazení jako zdroj streamování mají další omezení:
- Můžete streamovat pouze ze zobrazení, která dotazuje tabulky Delta. Jiné zdroje dat nejsou podporovány.
- Chcete-li zaregistrovat zobrazení, použijte katalog Unity. Viz Vytvoření zobrazení.
- Streamování čtení v zobrazeních nepodporuje všechny operace ani možnosti. Viz Podporované operace streamování a podporované možnosti streamování.