Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Op deze pagina ziet u hoe u Structured Streaming gebruikt met Unity Catalog om gegevensbeheer te beheren voor uw incrementele en streamingworkloads op Azure Databricks.
Welke structured streaming-functionaliteit ondersteunt Unity Catalog?
Unity Catalog voegt geen expliciete limieten toe voor structured streaming-bronnen en sinks die beschikbaar zijn op Azure Databricks.
Met Unity Catalog en Structured Streaming kunt u het volgende doen:
- Gegevens streamen vanuit zowel beheerde als externe tabellen. Zie Unity Catalog-beheerde tabellen in Azure Databricks voor Delta Lake en Apache Iceberg.
- Gebruik externe locaties die worden beheerd door Unity Catalog om te communiceren met gegevens met behulp van objectopslag-URI's.
- Schrijf naar externe tabellen met behulp van tabelnamen of bestandspaden. Als u wilt communiceren met beheerde tabellen, moet u de tabelnaam gebruiken.
Voor controlepunten voor gestructureerd streamen moet u paden gebruiken op externe locaties die worden beheerd door Unity Catalog. Zie Connect to cloud object storage using Unity Catalog (Verbinding maken met cloudobjectopslag met behulp van Unity Catalog) voor meer informatie over het veilig verbinden van opslag met Unity Catalog.
Een Unity Catalog-weergave lezen als een stream
In Databricks Runtime 14.3 LTS en hoger kunt u Structured Streaming gebruiken om te lezen van weergaven die zijn geregistreerd bij Unity Catalog. De onderliggende tabellen moeten de Delta Lake-indeling gebruiken. Zie Beperkingen voor andere beperkingen.
Als u een weergave met Structured Streaming wilt lezen, gebruikt u de methode met de .table() id van de weergave:
df = (spark.readStream
.table("demoView")
)
Gebruikers moeten bevoegdheden SELECT hebben voor de doelweergave.
Als u de weergavedefinitie wijzigt om de tabellen toe te voegen of te wijzigen waarnaar in de weergave wordt verwezen, kunt u hetzelfde streamingcontrolepunt niet gebruiken.
Ondersteunde streamingopties
De streaminglezer past opties toe op de bestanden en metagegevens van de onderliggende Delta-tabellen voor de opgegeven weergave.
De volgende opties worden ondersteund:
maxFilesPerTriggermaxBytesPerTriggerignoreDeletesskipChangeCommitswithEventTimeOrderstartingTimestampstartingVersion
Leesbewerkingen op weergaven met UNION ALL ondersteunen de opties withEventTimeOrder en startingVersion niet.
Als u niet-ondersteunde opties opgeeft, zoals readChangeFeedSpark, wordt deze uitzondering gegenereerd:
AnalysisException: [UNSUPPORTED_STREAMING_OPTIONS_FOR_VIEW.UNSUPPORTED_OPTION] Unsupported for streaming a view. Reason: option <option> is not supported.
Ondersteunde streamingbewerkingen
Ondersteunde bewerkingen zijn onder andere:
| Operatie | Description | Operator | Voorbeeld |
|---|---|---|---|
| Project | Machtigingen op kolomniveau beheren | SELECT... FROM... |
CREATE VIEW project_view AS SELECT id, value FROM source_table |
| Filter | Hiermee bepaalt u machtigingen op rijniveau | WHERE... |
CREATE VIEW filter_view AS SELECT * FROM source_table WHERE value > 100 |
| Alles samenvoegen | Resultaten van meerdere tabellen | UNION ALL |
CREATE VIEW union_view AS SELECT id, value FROM source_table1 UNION ALL SELECT * FROM source_table2 |
Niet-ondersteunde bewerkingen omvatten aggregaties, sortering en tabelwaardefuncties zoals table_changes(). Zie voor meer informatie over tabelwaardefuncties de aanroep van de functie Tabelwaarde (TVF).
Als u streamt vanuit een weergave met een niet-ondersteunde bewerking, genereert Spark deze uitzondering:
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.
Beperkingen
- De modus continue verwerking van Apache Spark wordt niet ondersteund. Zie Continuous Processing in de Spark Structured Streaming Programming Guide.
- Voor een lijst met structured streaming-functies die niet worden ondersteund in Unity Catalog op basis van de rekentoegangsmodus, raadpleegt u streamingbeperkingen en streaming- en gerealiseerde weergavevereisten voor toegewezen berekeningen.
- Views als bron voor streaming hebben aanvullende beperkingen:
- U kunt alleen streamen vanuit weergaven die delta-tabellen opvragen. Andere gegevensbronnen worden niet ondersteund.
- U moet weergaven registreren bij Unity Catalog. Zie Een weergave maken.
- Streaming-leesbewerkingen op weergaven ondersteunen niet alle bewerkingen of opties. Zie Ondersteunde streamingbewerkingen en ondersteunde streamingopties.