Dela via


Kom igång med realtidsläge

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

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:

  1. På din Azure Databricks-arbetsyta klickar du på Beräkning i sidofältet.

  2. Klicka på Skapa beräkning.

  3. Ange ett namn.

  4. Välj Databricks Runtime 17.1 eller senare.

  5. Rensa fotonacceleration (realtidsläget stöder inte Photon).

  6. Rensa Aktivera automatisk skalning (realtidsläge kräver en fast klusterstorlek).

  7. Under Avancerad prestanda ska du avmarkera använda spotinstanser (spotinstanser kan orsaka avbrott).

  8. Klicka på Avancerade alternativ för att expandera ytterligare inställningar.

  9. Under Åtkomstläge väljer du Dedikerad (tidigare: Enskild användare).

  10. Under Spark-konfiguration lägger du till följande konfiguration:

    spark.databricks.streaming.realTimeMode.enabled true
    
  11. Klicka 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:

  1. Klicka på Nytt i sidopanelen och klicka sedan på Notebook.
  2. I listrutan beräkning väljer du den beräkning som du skapade i steg 1.
  3. 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
  • display Anvä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: