cloud_files_state tabulková hodnotová funkce

Platí pro:zaškrtnuto ano Databricks SQL zaškrtnuto ano Databricks Runtime 11.3 LTS a vyšší

Vrátí stav na úrovni souboru Auto Loaderu nebo read_files datového proudu.

Syntaxe

cloud_files_state( { TABLE ( table_name ) | checkpoint } )

Argumenty

  • table_name: Identifikátor streamovací tabulky, do které se zapisuje pomocí read_files. Název nesmí obsahovat dočasnou specifikaci. K dispozici ve službě Databricks Runtime 13.3 LTS a novějších.
  • checkpoint STRING: Literál. Adresář kontrolního bodu pro datový proud využívající zdroj Auto Loader. Podívejte se na Co je automatický zavaděč?

Návraty

Vrátí tabulku s následujícím schématem:

  • path STRING NOT NULL PRIMARY KEY

    Cesta k souboru.

  • size BIGINT NOT NULL

    Velikost souboru v bajtech

  • create_time TIMESTAMP NOT NULL

    Čas vytvoření souboru.

  • discovery_time TIMESTAMP NOT NULL

    Platí pro:označený jako ano Databricks SQL označený jako ano Databricks Runtime 16.4 a vyšší

    Čas, kdy byl soubor zjištěn.

  • processed_time TIMESTAMP NOT NULL

    Platí pro:označený jako ano Databricks SQL označený jako ano Databricks Runtime 16.4 a vyšší

    Vyplněno pro: Soubory zpracovávané datovými proudy automatického zavaděče spuštěné v Databricks Runtime 16.4 a novějších s povoleným modulem cloudFiles.cleanSource Databricks Runtime 18.2 a novějším. Viz Běžné.

    Čas zpracování souboru. Pokud sada úloh narazí na nezdaření a pokusí se znovu, může se soubor zpracovat několikrát. Pokud dojde k opakování, toto pole obsahuje nejnovější čas zpracování.

  • commit_time TIMESTAMP

    Platí pro:označený jako ano Databricks SQL označený jako ano Databricks Runtime 16.4 a vyšší

    Vyplněno pro: Soubory zpracovávané datovými proudy automatického zavaděče spuštěné v Databricks Runtime 16.4 a novějších s povoleným modulem cloudFiles.cleanSource Databricks Runtime 18.2 a novějším. Viz Běžné.

    Časový okamžik, kdy byl soubor po zpracování potvrzen do kontrolního bodu. NULL pokud soubor ještě není zpracován. Neexistuje žádná garantovaná latence pro označení souboru jako potvrzeného; Soubor může být zpracován, ale označen jako potvrzený libovolně později. Označení souboru jako potvrzeného znamená, že Auto Loader již soubor nepotřebuje pro opakované zpracování.

  • archive_time TIMESTAMP

    Platí pro:označeno jako ano Databricks SQL, označeno jako ano Databricks Runtime 16.4 a vyšší, když je zapnuto cloudFiles.cleanSource. Viz Běžné.

    Čas archivace souboru. NULL pokud soubor nebyl archivován.

  • archive_mode STRING

    Platí pro:označeno jako ano Databricks SQL, označeno jako ano Databricks Runtime 16.4 a vyšší, když je zapnuto cloudFiles.cleanSource. Viz Běžné.

    MOVE pokud cloudFiles.cleanSource byl nastaven na MOVE kdy byl soubor archivován.

    DELETE pokud cloudFiles.cleanSource byl nastaven na DELETE kdy byl soubor archivován.

    NULL pokud cloudFiles.cleanSource byla nastavena na OFF (výchozí).

  • move_location STRING

    Platí pro:označeno jako ano Databricks SQL, označeno jako ano Databricks Runtime 16.4 a vyšší, když je zapnuto cloudFiles.cleanSource. Viz Běžné.

    Úplná cesta k umístění, kam byl soubor přesunut během operace archivace, když cloudFiles.cleanSource byla nastavena na MOVE.

    NULL pokud soubor nebyl archivován nebo cloudFiles.cleanSource je jedním z DELETE nebo OFF.

  • source_id STRING

    ID zdroje automatického zavaděče ve streamovacím dotazu. Tato hodnota je '0' určená pro datové proudy, které ingestují z jednoho umístění cloudového úložiště objektů.

  • flow_name STRING

    Platí pro:označeno jako ano Databricks SQL označeno jako ano Databricks Runtime 13.3 a vyšší

    Představuje konkrétní tok streamování v kanálech Lakeflow, který obsahuje jeden nebo více zdrojů cloudových souborů. Hodnota NULL, pokud není uveden žádný table_name.

  • ingestion_state STRING

    Platí pro:označený jako ano Databricks SQL označený jako ano Databricks Runtime 16.4 a vyšší

    Vyplněno pro: Soubory zpracovávané datovými proudy automatického zavaděče spuštěné v Databricks Runtime 16.4 a novějších s povoleným modulem cloudFiles.cleanSource Databricks Runtime 18.2 a novějším. Viz Běžné.

    Zda byl soubor ingestován, označen jedním z následujících stavů:

    • NULL: Soubor ještě nebyl zpracován, nebo nelze automatickým načítačem zjistit stav souboru.
    • PROCESSING: Soubor se zpracovává.
    • SKIPPED_CORRUPTED: Soubor nebyl ingestovaný, protože byl poškozen.
    • SKIPPED_MISSING: Soubor nebyl přijat, protože nebyl nalezen během zpracování.
    • INGESTED: Soubor byl zpracován jímkou alespoň jednou. Může být znovu zpracována ne idempotentními jímky, jako foreachBatch v případě selhání ve streamu. Dokončeno bylo zpracování pouze těch souborů, které mají pole s nenulovou hodnotou commit_time a jsou ve stavu INGESTED.
    • NOT_RECOGNIZED_BY_DBR: Vyhrazeno pro kompatibilitu verzí. Tento stav se zobrazí pro stavy představené v novějších verzích Databricks Runtime, které dřívější verze Databricks Runtime nerozpoznají.

Oprávnění

Potřebujete:

  • Pokud používáte identifikátor tabulky streamování
    • Databricks Runtime 17.1 a níže: OWNER oprávnění ke streamovací tabulce
    • Databricks SQL a Databricks Runtime 17.2 a vyšší: SELECT a MODIFY oprávnění pro streamovací tabulku
  • READ FILESoprávnění k umístění kontrolního bodu v případě poskytování kontrolního bodu pod externím umístěním.

Příklady

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

Omezení

  • Uživatelé, kteří čtou zobrazení, které odkazuje cloud_files_state na streamovací tabulku, musí mít SELECT oprávnění k zobrazení i požadovaná oprávnění ke streamované tabulce.