Dela via


cloud_files_state tabellvärdesfunktion

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

Returnerar filnivåtillståndet för en Auto Loader eller read_files dataström.

Syntax

cloud_files_state( { TABLE ( table_name ) | checkpoint } )

Argumenten

  • table_name: Identifieraren för den strömmande tabell som skrivs till av read_files. Namnet får inte innehålla någon temporal specifikation. Finns i Databricks Runtime 13.3 LTS och senare.
  • checkpoint: Ett STRING bokstavligt uttryck. Kontrollpunktskatalogen för en dataström som använder Auto Loader-källan. Se Vad är Auto Loader?.

Returer

Returnerar en tabell med följande schema:

  • path STRING NOT NULL PRIMARY KEY

    Sökvägen till en fil.

  • size BIGINT NOT NULL

    Storleken på en fil i byte.

  • create_time TIMESTAMP NOT NULL

    Den tid då en fil skapades.

  • discovery_time TIMESTAMP NOT NULL

    Gäller för:kontrollmarkerad ja Databricks SQL kontrollmarkerad ja Databricks Runtime 16.4 och senare

    Den tid då en fil upptäcktes.

  • processed_time TIMESTAMP NOT NULL

    Gäller för:markerad med ja Databricks SQL markerad med ja Databricks Runtime 16.4 och senare när cloudFiles.cleanSource är aktiverat. Se Alternativ för automatisk inläsning.

    Den tid då en fil bearbetades. Om en batch stöter på ett fel och görs ett nytt försök kan en fil bearbetas flera gånger. När återförsök görs innehåller det här fältet den senaste bearbetningstiden.

  • commit_time TIMESTAMP

    Gäller för:markerad med ja Databricks SQL markerad med ja Databricks Runtime 16.4 och senare när cloudFiles.cleanSource är aktiverat. Se Alternativ för automatisk inläsning.

    Den tid då en fil checkades in på kontrollpunkten efter bearbetningen. NULL om filen inte har bearbetats ännu. Det finns ingen garanterad svarstid för att markera en fil som bekräftad. en fil kan bearbetas men markeras som bekräftad godtyckligt senare. Att markera filen som bekräftad innebär att Auto Loader inte kräver filen för bearbetning igen.

  • archive_time TIMESTAMP

    Gäller för:markerad med ja Databricks SQL markerad med ja Databricks Runtime 16.4 och senare när cloudFiles.cleanSource är aktiverat. Se Alternativ för automatisk inläsning.

    Den tid då en fil arkiverades. NULL om filen inte har arkiverats.

  • archive_mode STRING

    Gäller för:markerad med ja Databricks SQL markerad med ja Databricks Runtime 16.4 och senare när cloudFiles.cleanSource är aktiverat. Se Alternativ för automatisk inläsning.

    MOVE om cloudFiles.cleanSource har angetts till MOVE när filen arkiverades.

    DELETE om cloudFiles.cleanSource har angetts till DELETE när filen arkiverades.

    NULL om cloudFiles.cleanSource har angetts till OFF (standard).

  • move_location STRING

    Gäller för:markerad med ja Databricks SQL markerad med ja Databricks Runtime 16.4 och senare när cloudFiles.cleanSource är aktiverat. Se Alternativ för automatisk inläsning.

    Den fullständiga sökvägen dit filen flyttades för arkiveringsåtgärden när cloudFiles.cleanSource var inställd på MOVE.

    NULL om filen inte har arkiverats eller cloudFiles.cleanSource är en av DELETE eller OFF.

  • source_id STRING

    ID:t för den automatiska inläsningskällan i strömningsfrågan. Det här värdet är '0' för strömmar som matas in från en enda plats för molnobjektarkivet.

  • flow_name STRING

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

    Representerar ett specifikt strömmande flöde i Lakeflow Deklarativa Pipelines som innehåller en eller flera molnfilkällor. NULL om ingen table_name angavs.

  • ingestion_state STRING

    Gäller för:markerad med ja Databricks SQL markerad med ja Databricks Runtime 16.4 och senare när cloudFiles.cleanSource är aktiverat. Se Alternativ för automatisk inläsning.

    Om filen har matats in, vilket anges av något av följande status:

    • NULL: Filen har inte bearbetats än, eller så kan filtillståndet inte fastställas av Auto Loader.
    • PROCESSING: Filen bearbetas.
    • SKIPPED_CORRUPTED: Filen matades inte in eftersom den var skadad.
    • SKIPPED_MISSING: Filen matades inte in eftersom den inte hittades under bearbetningen.
    • INGESTED: Filen har bearbetats av mottagaren minst en gång. Den kan bearbetas igen av icke-idempotenta mottagare, som foreachBatch, vid fel i strömmen. Endast filer med ett icke-null-fält commit_time som är i tillståndet INGESTED har slutfört bearbetningen.
    • NOT_RECOGNIZED_BY_DBR: Reserverad för versionskompatibilitet. Det här tillståndet visas för tillstånd som introduceras i senare Databricks Runtime-versioner som inte är okända av tidigare Databricks Runtime-versioner.

Behörigheter

Du måste ha:

  • Om du använder en strömningstabellidentifierare
    • Databricks Runtime 17.1 och nedan: OWNER behörigheter i strömningstabellen
    • Databricks SQL och Databricks Runtime 17.2 och senare: SELECT och MODIFY behörigheter i strömningstabellen
  • READ FILES behörigheter på kontrollpunktsplatsen om du anger en kontrollpunkt på en extern plats.

Exempel

-- Simple example from checkpoint
> SELECT path FROM CLOUD_FILES_STATE('/some/checkpoint');
  /some/input/path
  /other/input/path

-- Simple example from source subdir
> SELECT path FROM CLOUD_FILES_STATE('/some/checkpoint/sources/0');
  /some/input/path
  /other/input/path

-- Simple example from streaming table
> SELECT path FROM CLOUD_FILES_STATE(TABLE(my_streaming_table));
  /some/input/path
  /other/input/path

Begränsningar

  • Användare som läser en vy som refererar till cloud_files_state en strömmande tabell måste ha både SELECT behörighet för vyn och de behörigheter som krävs för strömningstabellen.