Streamování ze zobrazení katalogu Unity
Důležité
Tato funkce je ve verzi Public Preview.
Ve službě Databricks Runtime 14.1 a novějších můžete pomocí strukturovaného streamování provádět čtení streamování ze zobrazení zaregistrovaných v katalogu Unity. Azure Databricks podporuje pouze streamování čtení ze zobrazení definovaných v tabulkách Delta.
Čtení zobrazení jako streamu
Pokud chcete přečíst zobrazení se strukturovaným streamováním, zadejte identifikátor zobrazení .table()
metodě, 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í.
Podporované možnosti konfigurace čtení streamování pro zobrazení
Při konfiguraci čtení streamování proti zobrazením se podporují následující možnosti:
maxFilesPerTrigger
maxBytesPerTrigger
ignoreDeletes
skipChangeCommits
withEventTimeOrder
startingTimestamp
startingVersion
Čtečka streamování tyto možnosti použije u souborů a metadat definujících podkladové tabulky Delta.
Důležité
Čtení proti 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í čtení streamování. 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
Filter
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 ALL
Pří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í.
Zobrazení musíte zaregistrovat v katalogu 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.