Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Viktigt!
Den här funktionen finns som allmänt tillgänglig förhandsversion.
Realtidsläge möjliggör ultralåg latensströmning med svarstid från slutpunkt till slutpunkt så låg som fem millisekunder, vilket gör det idealiskt för driftarbetsbelastningar som bedrägeriidentifiering och anpassning i realtid. Den här självstudien vägleder dig genom att konfigurera din första realtidsströmningsfråga med hjälp av enkelt exempel.
Konceptuell information om realtidsläge, när du ska använda det och vilka funktioner som stöds finns i Realtidsläge i Strukturerad direktuppspelning.
Requirements
- Du har behörighet att skapa klassisk beräkning.
- Databricks Runtime 17.1 eller senare (krävs för att använda
displayfunktionen i realtidsläge).
Anmärkning
Om du inte har behörighet att skapa klassisk beräkning kontaktar du arbetsyteadministratören för att skapa ett realtidslägeskluster där du kan använda konfigurationen i steg 1.
Steg 1: Skapa klassisk beräkning för realtidsläge
Realtidsläget kräver en specifik klassisk beräkningskonfiguration för att uppnå ultralåg svarstid. De här inställningarna säkerställer att aktiviteter körs samtidigt i alla faser och att data bearbetas kontinuerligt när de tas emot, i stället för i batchar.
Så här skapar du en korrekt konfigurerad klassisk beräkning:
På din Azure Databricks-arbetsyta klickar du på Beräkning i sidofältet.
Klicka på Skapa beräkning.
Ange ett namn.
Välj Databricks Runtime 17.1 eller senare.
Rensa fotonacceleration (realtidsläget stöder inte Photon).
Rensa Aktivera automatisk skalning (realtidsläge kräver en fast klusterstorlek).
Under Avancerad prestanda ska du avmarkera använda spotinstanser (spotinstanser kan orsaka avbrott).
Klicka på Avancerade alternativ för att expandera ytterligare inställningar.
Under Åtkomstläge väljer du Dedikerad (tidigare: Enskild användare).
Under Spark-konfiguration lägger du till följande konfiguration:
spark.databricks.streaming.realTimeMode.enabled trueKlicka på Skapa beräkning.
Steg 2: Skapa en notebook-fil
Notebooks ger en interaktiv miljö för att utveckla och testa strömmande frågor. Du använder den här notebook-filen för att skriva din realtidsfråga och se resultatuppdateringen kontinuerligt.
Så här skapar du en notebook-fil:
- Klicka på Nytt i sidopanelen och klicka sedan på Notebook.
- I listrutan beräkning väljer du den beräkning som du skapade i steg 1.
- Välj Python eller Scala som standardspråk.
Steg 3: Kör en fråga i realtidsläge
Kopiera och klistra in följande kod i en notebook-cell och kör den. I det här exemplet används en hastighetskälla som genererar rader med en angiven hastighet och visar resultatet i realtid.
Anmärkning
Funktionen display med realTime utlösaren är tillgänglig i Databricks Runtime 17.1 och senare.
Python
inputDF = (
spark
.readStream
.format("rate")
.option("numPartitions", 2)
.option("rowsPerSecond", 1)
.load()
)
display(inputDF, realTime="5 minutes", outputMode="update")
Scala
import org.apache.spark.sql.streaming.Trigger
import org.apache.spark.sql.streaming.OutputMode
val inputDF = spark
.readStream
.format("rate")
.option("numPartitions", 2)
.option("rowsPerSecond", 1)
.load()
display(inputDF, trigger=Trigger.RealTime(), outputMode=OutputMode.Update())
När du har kört koden visas en tabell som uppdateras i realtid när nya rader genereras. Tabellen visar en timestamp kolumn och en value kolumn som ökar med varje rad.
Förstå koden
Koden ovan visar de viktigaste komponenterna i en direktuppspelningsfråga i realtid. I följande tabeller förklaras nyckelparametrarna och vad de styr:
Python
| Parameter | Beskrivning |
|---|---|
format("rate") |
Använder hastighetskällan, en inbyggd källa som genererar rader med en konfigurerbar hastighet. Detta är användbart för testning utan externa beroenden. |
numPartitions |
Anger antalet partitioner för genererade data. |
rowsPerSecond |
Styr hur många rader som genereras per sekund. |
realTime="5 minutes" |
Aktiverar realtidsläge. Intervallet anger hur ofta frågekontrollpunkterna förlopp. Längre intervall innebär mindre frekventa kontrollpunkter men potentiellt längre återställningstider efter fel. |
outputMode="update" |
Realtidsläge kräver uppdaterat utmatningsläge. |
Scala
| Parameter | Beskrivning |
|---|---|
format("rate") |
Använder hastighetskällan, en inbyggd källa som genererar rader med en konfigurerbar hastighet. Detta är användbart för testning utan externa beroenden. |
numPartitions |
Anger antalet partitioner för genererade data. |
rowsPerSecond |
Styr hur många rader som genereras per sekund. |
Trigger.RealTime() |
Aktiverar realtidsläge med standardintervallet för kontrollpunkter. Du kan också ange ett intervall, till exempel Trigger.RealTime("5 minutes"). |
OutputMode.Update() |
Realtidsläge kräver uppdaterat utmatningsläge. |
Det här ser du
När du kör frågan display skapar funktionen en tabell som uppdateras i realtid när hastighetskällan genererar nya rader. Varje rad innehåller:
- tidsstämpel: Tiden då raden genererades av hastighetskällan
- värde: En monotont ökande räknare som ökar med varje ny rad
Tabellen uppdateras kontinuerligt med minimal svarstid, vilket visar hur realtidsläget bearbetar data så snart de blir tillgängliga. Detta är den viktigaste fördelen med realtidsläge – möjligheten att se och agera på data omedelbart i stället för att vänta på batchbearbetning.
Det här har du lärt dig
Du har konfigurerat och kört din första realtidsströmningsfråga. Nu vet du hur du:
- Konfigurera klassisk beräkning med nödvändiga inställningar för realtidsläge (dedikerat kluster, Foton inaktiverat, automatisk skalning inaktiverat, Spark-konfiguration)
- Aktivera realtidsbearbetning med utlösaren
realTime -
displayAnvända funktionen för interaktiv utveckling och testning - Kontrollera att frågan körs i realtidsläge genom att observera kontinuerliga uppdateringar
Du är redo att skapa realtidspipelines för produktion med Kafka, Kinesis och andra källor som stöds. Mer information om strukturerad direktuppspelning finns i Begrepp för strukturerad direktuppspelning.
Nästa steg
Nu när du har kört din första realtidsfråga kan du utforska dessa resurser för att skapa program för produktionsströmning:
- Exempel i realtidsläge – Exempel på arbetskod för Kafka-källor och mottagare, tillståndskänsliga frågor, aggregeringar och anpassade mottagare
- Referens för realtidsläge – Läs mer om klusterstorlek, operatorer som stöds, övervakning och funktionsbegränsningar
- Tillståndskänsliga strömningsprogram – Lägg till tillståndshantering i dina strömningsfrågor för deduplicering, aggregeringar och fönster
-
Avancerad tillståndshantering – Används
transformWithStateför anpassad tillståndskänslig bearbetning med TTL (Time To Live) och komplex logik