Udostępnij przez


cloud_files_state funkcja wartości tabeli

Dotyczy:zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime 11.3 LTS i nowsze

Zwraca stan na poziomie pliku dla Auto Loader lub read_files strumienia.

Składnia

cloud_files_state( { TABLE ( table_name ) | checkpoint } )

Argumenty

Zwraca

Zwraca tabelę z następującym schematem:

  • path STRING NOT NULL PRIMARY KEY

    Ścieżka pliku.

  • size BIGINT NOT NULL

    Rozmiar pliku w bajtach.

  • create_time TIMESTAMP NOT NULL

    Czas utworzenia pliku.

  • discovery_time TIMESTAMP NOT NULL

    Dotyczy:oznaczone jako 'tak' Databricks SQL oznaczone jako 'tak' Databricks Runtime 16.4 lub nowsza

    Czas odnalezienia pliku.

  • processed_time TIMESTAMP NOT NULL

    Dotyczy:oznaczone jako tak Databricks SQL oznaczone jako tak Databricks Runtime 16.4 i nowsze, gdy cloudFiles.cleanSource jest włączone. Zobacz Opcje modułu ładującego automatycznego.

    Czas przetwarzania pliku. Jeśli wsad napotka błąd i zostanie ponowiony, plik może być przetwarzany wiele razy. Po ponownych próbach to pole zawiera najnowszy czas przetwarzania.

  • commit_time TIMESTAMP

    Dotyczy:oznaczone jako tak Databricks SQL oznaczone jako tak Databricks Runtime 16.4 i nowsze, gdy cloudFiles.cleanSource jest włączone. Zobacz Opcje modułu ładującego automatycznego.

    Czas, gdy plik został zatwierdzony do punktu kontrolnego po przetworzeniu. NULL jeśli plik nie został jeszcze przetworzony. Nie ma gwarantowanego opóźnienia podczas oznaczania pliku jako zatwierdzonego; plik może zostać przetworzony, ale oznaczony jako zatwierdzony dowolnie później. Oznaczanie pliku jako zatwierdzone oznacza, że moduł automatycznego ładowania nie wymaga ponownego przetworzenia pliku.

  • archive_time TIMESTAMP

    Dotyczy:oznaczone jako tak Databricks SQL oznaczone jako tak Databricks Runtime 16.4 i nowsze, gdy cloudFiles.cleanSource jest włączone. Zobacz Opcje modułu ładującego automatycznego.

    Czas archiwizacji pliku. NULL jeśli plik nie został zarchiwizowany.

  • archive_mode STRING

    Dotyczy:oznaczone jako tak Databricks SQL oznaczone jako tak Databricks Runtime 16.4 i nowsze, gdy cloudFiles.cleanSource jest włączone. Zobacz Opcje modułu ładującego automatycznego.

    MOVE jeśli cloudFiles.cleanSource było ustawione na MOVE w momencie archiwizowania pliku.

    DELETE jeśli cloudFiles.cleanSource było ustawione na DELETE w momencie archiwizowania pliku.

    NULL jeśli cloudFiles.cleanSource ustawiono wartość OFF (wartość domyślna).

  • move_location STRING

    Dotyczy:oznaczone jako tak Databricks SQL oznaczone jako tak Databricks Runtime 16.4 i nowsze, gdy cloudFiles.cleanSource jest włączone. Zobacz Opcje modułu ładującego automatycznego.

    Pełna ścieżka lokalizacji, do której plik został przeniesiony podczas operacji archiwizacji, gdy cloudFiles.cleanSource ustawiono wartość MOVE.

    NULL jeśli plik nie został zarchiwizowany lub cloudFiles.cleanSource jest jednym z DELETE lub OFF.

  • source_id STRING

    Identyfikator źródła modułu ładowania automatycznego w zapytaniu przesyłania strumieniowego. Ta wartość dotyczy '0' strumieni pozyskanych z jednej lokalizacji magazynu obiektów w chmurze.

  • flow_name STRING

    Dotyczy:zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime 13.3 i nowsze

    Reprezentuje określony przepływ przesyłania strumieniowego w Lakeflow Spark Declarative Pipelines, który zawiera jedno lub więcej źródeł plików w chmurze. Wartość NULL, jeśli nie podano table_name.

  • ingestion_state STRING

    Dotyczy:oznaczone jako tak Databricks SQL oznaczone jako tak Databricks Runtime 16.4 i nowsze, gdy cloudFiles.cleanSource jest włączone. Zobacz Opcje modułu ładującego automatycznego.

    Czy plik został załadowany, określone jednym z następujących stanów:

    • NULL: Plik nie został jeszcze przetworzony lub nie można określić stanu pliku przez moduł automatycznego ładowania.
    • PROCESSING: plik jest przetwarzany.
    • SKIPPED_CORRUPTED: Plik nie został zaimportowany, ponieważ był uszkodzony.
    • SKIPPED_MISSING: Plik nie został wczytany, ponieważ nie został znaleziony podczas przetwarzania.
    • INGESTED: Plik został przetworzony przez element końcowy co najmniej raz. Można go ponownie przetworzyć za pomocą ujściów innych niż idempotentnych, takich jak foreachBatch w przypadku awarii w strumieniu. Przetwarzanie zakończyło tylko pliki z polem o wartości innej niż null commit_time , które znajdują się w INGESTED stanie.
    • NOT_RECOGNIZED_BY_DBR: zarezerwowane w celu zachowania zgodności wersji. Ten stan będzie wyświetlany dla stanów wprowadzonych w nowszych wersjach środowiska Databricks Runtime, które są nierozpoznane przez wcześniejsze wersje środowiska Databricks Runtime.

Uprawnienia

Musisz mieć następujące elementy:

  • Jeśli używasz identyfikatora tabeli przesyłania strumieniowego
    • Databricks Runtime 17.1 i poniżej: OWNER uprawnienia w tabeli przesyłania strumieniowego
    • Databricks SQL i Databricks Runtime 17.2 i nowsze: SELECT oraz MODIFY uprawnienia w tabeli przesyłania strumieniowego
  • READ FILESuprawnienia w lokalizacji punktu kontrolnego, jeśli podają punkt kontrolny w lokalizacji zewnętrznej.

Przykłady

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

Ograniczenia

  • Użytkownicy odczytujący widok, który odwołuje się cloud_files_state do tabeli przesyłania strumieniowego, muszą mieć zarówno SELECT uprawnienia w widoku, jak i wymagane uprawnienia w tabeli przesyłania strumieniowego.