Productieoverwegingen voor gestructureerd streamen

Dit artikel bevat aanbevelingen voor het configureren van workloads voor incrementele productieverwerking met Structured Streaming in Azure Databricks om te voldoen aan latentie- en kostenvereisten voor realtime- of batchtoepassingen. Als u de belangrijkste concepten van Structured Streaming op Azure Databricks begrijpt, kunt u veelvoorkomende valkuilen voorkomen wanneer u het volume en de snelheid van gegevens omhoog schaalt en van ontwikkeling naar productie gaat.

Azure Databricks heeft Delta Live Tables geïntroduceerd om de complexiteit van het beheren van productie-infrastructuur voor structured streaming-workloads te verminderen. Databricks raadt het gebruik van Delta Live Tables aan voor nieuwe structured streaming-pijplijnen; zie Wat is Delta Live Tables?.

Notitie

Automatisch schalen van berekeningen heeft beperkingen bij het omlaag schalen van clustergrootte voor structured streaming-workloads. Databricks raadt het gebruik van Delta Live Tables aan met verbeterde automatische schaalaanpassing voor streamingworkloads. Zie Het clustergebruik van Delta Live Tables-pijplijnen optimaliseren met verbeterde automatische schaalaanpassing.

Notebooks gebruiken voor structured streaming-workloads

Voor interactieve ontwikkeling met Databricks-notebooks moet u uw notebooks koppelen aan een cluster om query's handmatig uit te voeren. U kunt Databricks-notebooks plannen voor geautomatiseerde implementatie en automatisch herstel na queryfouten met behulp van werkstromen.

U kunt Structured Streaming-query's in notebooks visualiseren tijdens interactieve ontwikkeling of voor interactieve bewaking van productieworkloads. U moet alleen een Structured Streaming-query in productie visualiseren als een mens regelmatig de uitvoer van het notebook bewaakt. Hoewel de trigger en checkpointLocation parameters optioneel zijn, raadt Databricks u aan deze altijd in productie op te geven.

Batchgrootte en -frequentie beheren voor Gestructureerd streamen in Azure Databricks

Structured Streaming op Azure Databricks biedt verbeterde opties voor het beheren van kosten en latentie tijdens het streamen met automatisch laden en Delta Lake.

Wat is stateful streaming?

Voor een stateful Structured Streaming-query zijn incrementele updates van tussenliggende statusgegevens vereist, terwijl een stateless Structured Streaming-query alleen informatie bijhoudt over welke rijen van de bron naar de sink zijn verwerkt.

Stateful bewerkingen omvatten streamingaggregatie, streaming, stream-stream dropDuplicatesjoins, mapGroupsWithStateen flatMapGroupsWithState.

De tussenliggende statusinformatie die is vereist voor stateful structured streaming-query's kan leiden tot onverwachte latentie en productieproblemen als deze niet goed zijn geconfigureerd.

In Databricks Runtime 13.3 LTS en hoger kunt u changelog-controlepunten met RocksDB inschakelen om de duur van het controlepunt en de end-to-end-latentie voor structured streaming-workloads te verlagen. Databricks raadt aan controlepunten in het wijzigingenlogboek in te schakelen voor alle stateful query's voor gestructureerd streamen. Zie Controlepunten voor wijzigingenlogboek inschakelen.