Produktionsöverväganden för strukturerad direktuppspelning

Denna artikel innehåller rekommendationer för att konfigurera inkrementella bearbetningslaster för produktion med Strukturerad direktuppspelning i Azure Databricks för att uppfylla svarstids- och kostnadskraven för realtids- eller batchprogram. Genom att förstå viktiga begrepp för strukturerad direktuppspelning i Azure Databricks kan du undvika vanliga fallgropar när du skalar upp volymen och hastigheten för data och går från utveckling till produktion.

Azure Databricks har introducerat Delta Live Tables för att minska komplexiteten i hanteringen av produktionsinfrastrukturen för strukturerade strömningsarbetsbelastningar. Databricks rekommenderar att du använder Delta Live Tables för nya pipelines för strukturerad direktuppspelning. se Vad är Delta Live Tables?.

Kommentar

Automatisk skalning av beräkning har begränsningar för att skala ned klusterstorleken för arbetsbelastningar med strukturerad direktuppspelning. Databricks rekommenderar att du använder Delta Live Tables med förbättrad automatisk skalning för strömmande arbetsbelastningar. Se Optimera klusteranvändningen av Delta Live Tables-pipelines med förbättrad autoskalning.

Använda notebook-filer för strukturerade strömningsarbetsbelastningar

Interaktiv utveckling med Databricks-notebook-filer kräver att du kopplar dina notebook-filer till ett kluster för att köra frågor manuellt. Du kan schemalägga Databricks-notebook-filer för automatisk distribution och automatisk återställning från frågefel med hjälp av arbetsflöden.

Du kan visualisera frågor för strukturerad direktuppspelning i notebook-filer under interaktiv utveckling eller för interaktiv övervakning av produktionsarbetsbelastningar. Du bör bara visualisera en fråga för strukturerad direktuppspelning i produktion om en människa regelbundet övervakar notebook-filens utdata. Även om parametrarna trigger och checkpointLocation är valfria rekommenderar Databricks att du alltid anger dem i produktion.

Kontrollera batchstorlek och frekvens för strukturerad direktuppspelning i Azure Databricks

Strukturerad direktuppspelning på Azure Databricks har förbättrade alternativ för att hjälpa till att kontrollera kostnader och svarstider vid direktuppspelning med Auto Loader och Delta Lake.

Vad är tillståndskänslig strömning?

En tillståndskänslig fråga för strukturerad direktuppspelning kräver inkrementella uppdateringar av information om mellanliggande tillstånd, medan en tillståndslös strukturerad direktuppspelningsfråga endast spårar information om vilka rader som har bearbetats från källan till mottagaren.

Tillståndskänsliga åtgärder omfattar strömningsaggregering, direktuppspelning dropDuplicates, stream-stream-kopplingar mapGroupsWithStateoch flatMapGroupsWithState.

Den mellanliggande tillståndsinformation som krävs för tillståndskänsliga frågor för strukturerad direktuppspelning kan leda till oväntade svarstider och produktionsproblem om de inte har konfigurerats korrekt.

I Databricks Runtime 13.3 LTS och senare kan du aktivera kontrollpunkter för ändringsloggar med RocksDB för att sänka varaktigheten för kontrollpunkter och svarstid från slutpunkt till slutpunkt för strukturerade strömningsarbetsbelastningar. Databricks rekommenderar att du aktiverar kontrollpunkter för ändringslogg för alla tillståndsfrågor i Structured Streaming. Se Aktivera kontrollpunkter för ändringsloggar.