Dela via


read_statestore tabellvärdesfunktion

Gäller för: markerad ja Databricks SQL markerad ja Databricks Runtime 14.3 och senare

Viktigt!

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

En tabellvärdefunktion för att läsa poster från tillståndsarkivet för strömmande frågor. Den returnerade relationen stöder endast körning som en batchfråga.

Syntax

read_statestore ( path [, option_key => option_value ] [ ... ] )

Argument

read_statestore kräver namngiven parameteranrop för sina valfria parametrar.

  • path: A STRING literal. Sökvägen till platsen för kontrollpunkten för strömmande fråga.
  • option_key: Namnet på alternativet som ska konfigureras. Du måste använda backticks (') för alternativ som innehåller punkter (.).
  • option_value: Ett konstant uttryck som alternativet ska anges till. Accepterar literaler och skalärfunktioner.

Alla option_valueär skiftlägesokänsliga.

option_key Typ Standardvärde beskrivning
batchId BIGINT senaste batch-ID Representerar målbatchen som ska läsas från. Det här alternativet används när användare vill utföra tidsresor. Batchen ska checkas in men inte rensas ännu.
OperatorId BIGINT 0 Representerar måloperatorn som ska läsas från. Det här alternativet används när frågan använder flera tillståndskänsliga operatorer.
storeName STRING 'DEFAULT' 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.
joinSide STRING 'None' 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. En av: 'Left', 'Right', 'None'.

Returer

Funktionen returnerar en resultatuppsättning med följande kolumner.

Kommentar

De kapslade kolumnerna för nyckel och värde beror starkt på indataschemat för den tillståndskänsliga operatorn och typen av operator.

Name Datatyp Kan ha värdet null Standard beskrivning
id STRUCT Nej Nyckelraden för den tillståndskänsliga operatorn som lagras i tillståndskontrollpunkten.
value STRUCT Ja Värderaden för den tillståndskänsliga operatorn som lagras i tillståndskontrollpunkten.
partition_id INTEGER Nej Partitionen som innehåller posten.
shardId STRING Nej En unik identifierare för fragmentet där data lästes från.
sequenceNumber BIGINT Nej Den unika identifieraren för posten i dess fragment.
approximateArrivalTimestamp TIMESTAMP Nej Den ungefärliga tid då posten infogades i dataströmmen.

Exempel

- Read from state
> SELECT * FROM read_statestore('/checkpoint/path');

– Read from state with storeName option
> SELECT * FROM read_statestore(
      '/checkpoint/path',
      operatorId => 0,
      batchId => 2,
      storeName => 'default'
  );

– Read from state with joinSide option

> SELECT * FROM read_statestore(
      '/checkpoint/path',
      joinSide => 'left'
  );