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.
Použití strukturovaného streamování s katalogem Unity ke správě zásad správného řízení dat pro přírůstkové a streamované úlohy v Azure Databricks Tento dokument popisuje podporované funkce a navrhuje osvědčené postupy pro společné používání katalogu Unity a strukturovaného streamování.
Jaké funkce strukturovaného streamování podporuje Katalog Unity?
Katalog Unity nepřidá žádné explicitní omezení pro zdroje strukturovaného streamování a jímky dostupné v Azure Databricks. Model zásad správného řízení dat katalogu Unity umožňuje streamovat data ze spravovaných a externích tabulek v katalogu Unity. Můžete také využít externí umístění spravovaná katalogem Unity pro práci s daty prostřednictvím URI úložiště objektů. Do externích tabulek můžete zapisovat pomocí názvů tabulek nebo cest k souborům. Se spravovanými tabulkami v Katalogu Unity musíte pracovat pomocí názvu tabulky.
Při zadávání cest pro kontrolní body strukturovaného streamování používejte externí umístění spravovaná katalogem Unity. 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.
Jaké funkce strukturovaného streamování nejsou v katalogu Unity podporované?
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.
čtení zobrazení katalogu Unity jako datového proudu
V prostředích Databricks Runtime 14.1 a novějších můžete provádět streamované čtení pomocí strukturovaného streamování ze zobrazení zaregistrovaných v katalogu Unity. Azure Databricks podporuje pouze streamování čtení ze zobrazení definovaných v tabulkách Delta.
Pokud chcete přečíst zobrazení se strukturovaným streamováním, zadejte identifikátor zobrazení metodě .table(), jak je znázorněno v následujícím příkladu:
df = (spark.readStream
.table("demoView")
)
Uživatelé musí mít SELECT oprávnění k cílovému zobrazení.
Možnosti konfigurace streamovaného čtení nad zobrazeními.
Při konfiguraci streamovaného čtení na základě zobrazení jsou podporovány následující možnosti:
maxFilesPerTriggermaxBytesPerTriggerignoreDeletesskipChangeCommitswithEventTimeOrderstartingTimestampstartingVersion
Čtečka streamování tyto možnosti použije u souborů a metadat definujících podkladové tabulky Delta.
Důležité
Čtení ve vztahu k zobrazením definovaným pomocí UNION ALL nepodporují možnosti withEventTimeOrder a startingVersion.
Podporované operace ve zdrojových zobrazeních
Ne všechna zobrazení podporují streamované čtení. Mezi nepodporované operace ve zdrojových zobrazeních patří agregace a řazení.
Následující seznam obsahuje popisy a ukázkové definice zobrazení podporovaných operací:
Projekt
Popis: Řídí oprávnění na úrovni sloupce.
Operátor:
SELECT... FROM...Příklad příkazu:
CREATE VIEW project_view AS SELECT id, value FROM source_table
Filtr
Popis: Řídí oprávnění na úrovni řádků.
Operátor:
WHERE...Příklad příkazu:
CREATE VIEW filter_view AS SELECT * FROM source_table WHERE value > 100
Sjednocovat vše
Popis: Výsledky z více tabulek
Operátor:
UNION ALLPříklad příkazu:
CREATE VIEW union_view AS SELECT id, value FROM source_table1 UNION ALL SELECT * FROM source_table2
Poznámka:
Definici zobrazení nelze upravit tak, aby se přidávaly nebo měnily tabulky odkazované v zobrazení a používaly stejný kontrolní bod streamování.
Omezení
Platí následující omezení:
Můžete streamovat pouze ze zobrazení zálohovaných tabulkami Delta. Zobrazení definovaná proti jiným zdrojům dat se nepodporují.
Chcete-li zaregistrovat zobrazení, použijte katalog Unity.
Následující výjimka se zobrazí, pokud streamujete ze zobrazení s nepodporovaným operátorem:
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.Pokud zadáte nepodporované možnosti, zobrazí se následující výjimka:
AnalysisException: [UNSUPPORTED_STREAMING_OPTIONS_FOR_VIEW.UNSUPPORTED_OPTION] Unsupported for streaming a view. Reason: option <option> is not supported.