Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:
Databricks SQL
Databricks Runtime 11.3 LTS y versiones posteriores
Devuelve el estado a nivel de archivo de un flujo de Auto Loader o read_files.
Sintaxis
cloud_files_state( { TABLE ( table_name ) | checkpoint } )
Argumentos
-
table_name: el identificador de la tabla de streaming a la que
read_filesestá escribiendo. El nombre no debe incluir una especificación temporal. Disponible en Databricks Runtime 13.3 LTS y versiones posteriores. -
checkpoint: un literalSTRING. Directorio de punto de control de una secuencia mediante el origen del cargador automático. Consulte ¿Qué es Auto Loader?.
Devoluciones
Devuelve una tabla con el esquema siguiente:
path STRING NOT NULL PRIMARY KEYRuta de acceso de un archivo.
size BIGINT NOT NULLTamaño de un archivo en bytes.
create_time TIMESTAMP NOT NULLHora de creación de un archivo.
discovery_time TIMESTAMP NOT NULLSe aplica a:
Databricks SQL
Databricks Runtime 16.4 y versiones posterioresLa hora a la que se detectó un archivo.
processed_time TIMESTAMP NOT NULLSe aplica a:
Databricks SQL
Databricks Runtime 16.4 y versiones posteriores cuando cloudFiles.cleanSourceestá habilitado. Consulte Opciones del cargador automático.Hora en que se procesó un archivo. Si un lote encuentra un error y se reintenta, es posible que un archivo se procese varias veces. Cuando se producen reintentos, este campo contiene el tiempo de procesamiento más reciente.
commit_time TIMESTAMPSe aplica a:
Databricks SQL
Databricks Runtime 16.4 y versiones posteriores cuando cloudFiles.cleanSourceestá habilitado. Consulte Opciones del cargador automático.Hora a la que se confirmó un archivo en el punto de control después del procesamiento.
NULLsi el archivo aún no se ha procesado. No hay ninguna latencia garantizada para marcar un archivo como confirmado; Es posible que un archivo se procese pero se marque como confirmado arbitrariamente más adelante. Marcar el archivo como confirmado significa que Auto Loader no requiere el archivo para volver a procesarlo.archive_time TIMESTAMPSe aplica a:
Databricks SQL
Databricks Runtime 16.4 y versiones posteriores cuando cloudFiles.cleanSourceestá habilitado. Consulte Opciones del cargador automático.Hora a la que se archivó un archivo.
NULLsi el archivo no se ha archivado.archive_mode STRINGSe aplica a:
Databricks SQL
Databricks Runtime 16.4 y versiones posteriores cuando cloudFiles.cleanSourceestá habilitado. Consulte Opciones del cargador automático.MOVEsicloudFiles.cleanSourcese estableció enMOVEcuando se ha archivado el archivo.DELETEsicloudFiles.cleanSourcese estableció enDELETEcuando se ha archivado el archivo.NULLsicloudFiles.cleanSourcese estableció enOFF(valor predeterminado).move_location STRINGSe aplica a:
Databricks SQL
Databricks Runtime 16.4 y versiones posteriores cuando cloudFiles.cleanSourceestá habilitado. Consulte Opciones del cargador automático.Ruta de acceso completa a la que se movió el archivo durante la operación de archivado cuando
cloudFiles.cleanSourcese estableció enMOVE.NULLsi el archivo no se ha archivado ocloudFiles.cleanSourcees uno deDELETEoOFF.source_id STRINGIdentificador del origen de Auto Loader en la consulta de streaming. Este valor es
'0'para las secuencias que ingieren desde una única ubicación del almacén de objetos en la nube.flow_name STRINGSe aplica a:
Databricks SQL
Databricks Runtime 13.3 y versiones posterioresRepresenta un flujo de transmisión específico en las canalizaciones declarativas de Spark de Lakeflow que contiene una o más fuentes de archivos en la nube. NULL si no se ha dado ningún table_name.
ingestion_state STRINGSe aplica a:
Databricks SQL
Databricks Runtime 16.4 y versiones posteriores cuando cloudFiles.cleanSourceestá habilitado. Consulte Opciones del cargador automático.Indica si el archivo se ha ingerido, indicado por uno de los estados siguientes:
-
NULL: el archivo aún no se ha procesado o el estado del archivo no se puede determinar mediante el cargador automático. -
PROCESSING: el archivo se está procesando. -
SKIPPED_CORRUPTED: el archivo no se ingerió porque estaba dañado. -
SKIPPED_MISSING: el archivo no se ingerió porque no se encontró durante el procesamiento. -
INGESTED: El proceso receptor ha procesado el archivo al menos una vez. Podría ser procesado de nuevo por receptores no idempotentes, comoforeachBatch, en caso de errores en la secuencia. Solo los archivos con un campo no nulocommit_timeque se encuentran en el estadoINGESTEDhan completado el procesamiento. -
NOT_RECOGNIZED_BY_DBR: reservado para la compatibilidad de versiones. Este estado se mostrará para los estados introducidos en versiones posteriores de Databricks Runtime no reconocidas por versiones anteriores de Databricks Runtime.
-
Permisos
Debe tener:
- Si usa un identificador de tabla de streaming
- Databricks Runtime 17.1 y siguientes:
OWNERprivilegios en la tabla de streaming - Databricks SQL y Databricks Runtime 17.2 y versiones posteriores:
SELECTyMODIFYprivilegios en la tabla de streaming
- Databricks Runtime 17.1 y siguientes:
- Privilegios de
READ FILESen la ubicación del punto de control si proporciona un punto de control en una ubicación externa.
Ejemplos
-- 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
Limitaciones
- Los usuarios que leen una vista que hace referencia a
cloud_files_stateuna tabla de streaming deben tener privilegiosSELECTen la vista y los privilegios necesarios en la tabla de streaming.