Läsa information om status för strukturerad direktuppspelning

Viktigt!

Den här funktionen finns som allmänt tillgänglig förhandsversion.

I Databricks Runtime 14.3 LTS och senare kan du använda DataFrame-åtgärder eller SQL-tabellvärdefunktioner för att köra frågor mot data och metadata för structured Streaming-tillstånd. Du kan använda dessa funktioner för att observera tillståndsinformation för tillståndskänsliga frågor för strukturerad direktuppspelning, vilket kan vara användbart för övervakning och felsökning.

Du måste ha läsbehörighet till kontrollpunktssökvägen för en strömmande fråga för att kunna fråga tillståndsdata eller metadata. Funktionerna som beskrivs i den här artikeln ger skrivskyddad åtkomst till tillståndsdata och metadata. Du kan bara använda batchläsningssemantik för att fråga tillståndsinformation.

Kommentar

Du kan inte fråga tillståndsinformation för Delta Live Tables-pipelines, strömmande tabeller eller materialiserade vyer.

Read Structured Streaming State Store

Du kan läsa information om tillståndslager för strukturerade strömningsfrågor som körs i databricks-körning som stöds. Använd följande syntax:

Python

df = (spark.read
  .format("statestore")
  .load("/checkpoint/path"))

SQL

SELECT * FROM read_statestore('/checkpoint/path')

Följande valfria konfigurationer stöds:

Alternativ Typ Default value
batchId Long senaste batch-ID
operatorId Long 0
storeName String "STANDARD"
joinSide Sträng ("vänster" eller "höger") Representerar målsidan som ska läsas från. Det här alternativet används när användare vill läsa tillståndet från stream-stream-anslutning.

De returnerade data har följande schema:

Column Type Beskrivning
key Struct (ytterligare typ härledd från tillståndsnyckeln) Nyckeln för en tillståndskänslig operatörspost i tillståndskontrollpunkten.
value Struct (ytterligare typ härledd från tillståndsvärdet) Värdet för en tillståndskänslig operatorpost i tillståndskontrollpunkten.
partition_id Integer Partitionen för tillståndskontrollpunkten som innehåller den tillståndskänsliga operatorposten.

Läsa metadata för strukturerat direktuppspelningstillstånd

Viktigt!

Du måste köra strömmande frågor på Databricks Runtime 14.2 eller senare för att registrera tillståndsmetadata. Tillståndsmetadatafiler bryter inte bakåtkompatibiliteten. Om du väljer att köra en direktuppspelningsfråga på Databricks Runtime 14.1 eller senare ignoreras befintliga tillståndsmetadatafiler och inga nya tillståndsmetadatafiler skrivs.

Du kan läsa statusmetadatainformation för strukturerade direktuppspelningsfrågor som körs på Databricks Runtime 14.2 eller senare. Använd följande syntax:

Python

df = (spark.read
  .format("state-metadata")
  .load("<checkpointLocation>"))

SQL

SELECT * FROM read_state_metadata('/checkpoint/path')

De returnerade data har följande schema:

Column Type Beskrivning
operatorId Integer Heltals-ID för den tillståndskänsliga strömningsoperatorn.
operatorName Integer Namnet på den tillståndskänsliga strömningsoperatorn.
stateStoreName String Namnet på operatorns tillståndslager.
numPartitions Integer Antal partitioner i tillståndsarkivet.
minBatchId Long Det minsta batch-ID som är tillgängligt för frågetillstånd.
maxBatchId Long Det maximala batch-ID som är tillgängligt för frågetillstånd.

Kommentar

Batch-ID-värdena som tillhandahålls av minBatchId och maxBatchId återspeglar tillståndet när kontrollpunkten skrevs. Gamla batchar rensas automatiskt med micro-batch-körning, så värdet som anges här är inte garanterat fortfarande tillgängligt.