Delen via


Aan de slag met de realtime-modus

Belangrijk

Deze functie bevindt zich in openbare preview-versie.

In realtime-modus kunt u ultra-lage latentie streamen met end-to-end latentie tot vijf milliseconden, waardoor deze ideaal is voor operationele workloads, zoals fraudedetectie en realtime personalisatie. In deze zelfstudie wordt u begeleid bij het instellen van uw eerste realtime streamingquery met behulp van een eenvoudig voorbeeld.

Voor conceptuele informatie over de realtimemodus, wanneer u deze wilt gebruiken en ondersteunde functies, raadpleegt u de realtime-modus in Structured Streaming.

Requirements

Opmerking

Als u geen klassieke bevoegdheden voor het maken van rekenkracht hebt, neemt u contact op met uw werkruimtebeheerder om een realtime-moduscluster voor u te maken met behulp van de configuratie in stap 1.

Stap 1: Klassieke berekening maken voor realtimemodus

Voor de realtimemodus is een specifieke klassieke rekenconfiguratie vereist om ultra-lage latentie te bereiken. Deze instellingen zorgen ervoor dat taken tegelijkertijd worden uitgevoerd in alle fasen en dat gegevens continu worden verwerkt wanneer ze binnenkomen, in plaats van in batches.

Een correct geconfigureerde klassieke berekening maken:

  1. Klik in uw Azure Databricks-werkruimte op Compute in de zijbalk.

  2. Klik op Rekenproces maken.

  3. Voer een naam in.

  4. Selecteer Databricks Runtime 17.1 of hoger.

  5. Schakel Photon-versnelling uit (realtimemodus biedt geen ondersteuning voor Photon).

  6. Schakel automatisch schalen uit (realtimemodus vereist een vaste clustergrootte).

  7. Onder Geavanceerde prestaties, schakel Gebruik spot-exemplaren uit (spot-exemplaren kunnen onderbrekingen veroorzaken).

  8. Klik op Geavanceerde opties om extra instellingen uit te vouwen.

  9. Selecteer onder De toegangsmodusDedicated (voorheen: Eén gebruiker).

  10. Voeg onder Spark-configuratie de volgende configuratie toe:

    spark.databricks.streaming.realTimeMode.enabled true
    
  11. Klik op Rekenproces maken.

Stap 2: Een notitieblok maken

Notebooks bieden een interactieve omgeving voor het ontwikkelen en testen van streamingquery's. U gebruikt dit notebook om uw realtime query te schrijven en te zien dat de resultaten continu worden bijgewerkt.

Een notebook maken:

  1. Klik op Nieuw in de zijbalk en klik vervolgens op Notitieblok.
  2. Selecteer in de vervolgkeuzelijst compute de berekening die u in stap 1 hebt gemaakt.
  3. Selecteer Python of Scala als standaardtaal.

Stap 3: Een realtime-modusquery uitvoeren

Kopieer en plak de volgende code in een notebookcel en voer deze uit. In dit voorbeeld wordt een frequentiebron gebruikt, waarmee rijen met een opgegeven snelheid worden gegenereerd en de resultaten in realtime worden weergegeven.

Opmerking

De display functie met realTime trigger is beschikbaar in Databricks Runtime 17.1 en hoger.

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())

Nadat u de code hebt uitgevoerd, ziet u een tabel die in realtime wordt bijgewerkt wanneer er nieuwe rijen worden gegenereerd. In de tabel worden een timestamp kolom en een value kolom weergegeven die met elke rij wordt verhoogd.

De code begrijpen

De bovenstaande code toont de essentiële onderdelen van een realtime streamingquery. In de volgende tabellen worden de belangrijkste parameters en de besturingselementen uitgelegd:

Python

Kenmerk Beschrijving
format("rate") Maakt gebruik van de frequentiebron, een ingebouwde bron waarmee rijen met een configureerbare snelheid worden gegenereerd. Dit is handig voor het testen zonder externe afhankelijkheden.
numPartitions Hiermee stelt u het aantal partities voor de gegenereerde gegevens in.
rowsPerSecond Hiermee bepaalt u hoeveel rijen per seconde worden gegenereerd.
realTime="5 minutes" Hiermee schakelt u de realtimemodus in. Het interval geeft aan hoe vaak de voortgang van de query-controlepunten wordt vastgelegd. Langere intervallen betekenen minder frequente controlepunten, maar mogelijk langere hersteltijden na storingen.
outputMode="update" Voor de realtimemodus is de uitvoermodus voor updates vereist.

Scala

Kenmerk Beschrijving
format("rate") Maakt gebruik van de frequentiebron, een ingebouwde bron waarmee rijen met een configureerbare snelheid worden gegenereerd. Dit is handig voor het testen zonder externe afhankelijkheden.
numPartitions Hiermee stelt u het aantal partities voor de gegenereerde gegevens in.
rowsPerSecond Hiermee bepaalt u hoeveel rijen per seconde worden gegenereerd.
Trigger.RealTime() Hiermee schakelt u de realtimemodus in met het standaardcontrolepuntinterval. U kunt ook een interval opgeven, bijvoorbeeld Trigger.RealTime("5 minutes").
OutputMode.Update() Voor de realtimemodus is de uitvoermodus voor updates vereist.

Wat u ziet

Wanneer u de query uitvoert, maakt de display functie een tabel die in realtime wordt bijgewerkt wanneer de frequentiebron nieuwe rijen genereert. Elke rij bevat:

  • tijdstempel: het tijdstip waarop de rij is gegenereerd door de frequentiebron
  • waarde: Een monotonisch verhogende teller die wordt verhoogd met elke nieuwe rij

De tabel wordt continu bijgewerkt met minimale latentie en laat zien hoe gegevens in realtime worden verwerkt zodra deze beschikbaar zijn. Dit is het belangrijkste voordeel van de realtime-modus: de mogelijkheid om gegevens onmiddellijk te bekijken en erop te reageren in plaats van te wachten op batchverwerking.

Wat u hebt geleerd

U hebt uw eerste realtime streamingquery ingesteld en uitgevoerd. U weet nu hoe u het volgende kunt doen:

  • Klassieke berekening configureren met de vereiste instellingen voor realtimemodus (toegewezen cluster, Photon uitgeschakeld, automatisch schalen uitgeschakeld, Spark-configuratie)
  • Realtimeverwerking inschakelen met behulp van de realTime trigger
  • display De functie gebruiken voor interactieve ontwikkeling en testen
  • Controleer of uw query in realtime wordt uitgevoerd door continue updates te observeren

U bent klaar om realtime productiepijplijnen te bouwen met Kafka, Kinesis en andere ondersteunde bronnen. Zie Structured Streaming-concepten voor meer informatie over Structured Streaming.

Volgende stappen 

Nu u uw eerste realtime query hebt uitgevoerd, verkent u deze resources om productiestreamingtoepassingen te bouwen: