Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Função com valor de tabela
Aplica-se a:
SQL do Databricks
Databricks Runtime 11.3 LTS e versões posteriores
Retorna o estado no nível do arquivo de um fluxo do Carregador Automático ou read_files.
Sintaxe
cloud_files_state( { TABLE ( table_name ) | checkpoint } )
Argumentos
-
table_name: o identificador da tabela de streaming que está sendo escrita por
read_files. O nome não deve incluir uma especificação temporal. Disponível no Databricks Runtime 13.3 LTS e superior. -
checkpoint: UmSTRINGliteral. O diretório do ponto de verificação para um fluxo usando a origem do Carregador Automático. Confira O que é o Carregador Automático?.
Retornos
Retorna uma tabela com o seguinte esquema:
path STRING NOT NULL PRIMARY KEYO caminho de um arquivo.
size BIGINT NOT NULLO tamanho de um arquivo em bytes.
create_time TIMESTAMP NOT NULLA hora em que um arquivo foi criado.
discovery_time TIMESTAMP NOT NULLAplica-se a:
Databricks SQL
Databricks Runtime 16.4 e acimaA hora em que um arquivo foi descoberto.
processed_time TIMESTAMP NOT NULLAplica-se a:
Databricks SQL
Databricks Runtime 16.4 e superior quando cloudFiles.cleanSourceestá habilitado. Consulte as opções do Carregador Automático.A hora em que um arquivo foi processado. Se um lote encontrar uma falha e for repetido, um arquivo poderá ser processado várias vezes. Quando novas tentativas ocorrem, esse campo contém o tempo de processamento mais recente.
commit_time TIMESTAMPAplica-se a:
Databricks SQL
Databricks Runtime 16.4 e superior quando cloudFiles.cleanSourceestá habilitado. Consulte as opções do Carregador Automático.A hora em que um arquivo foi confirmado no ponto de verificação após o processamento.
NULLse o arquivo ainda não foi processado. Não há latência garantida para marcar um arquivo como confirmado; um arquivo pode ser processado, mas marcado como confirmado arbitrariamente mais tarde. Marcar o arquivo como confirmado significa que o Carregador Automático não exigirá que o arquivo seja processado novamente.archive_time TIMESTAMPAplica-se a:
Databricks SQL
Databricks Runtime 16.4 e superior quando cloudFiles.cleanSourceestá habilitado. Consulte as opções do Carregador Automático.A hora em que um arquivo foi arquivado.
NULLse o arquivo não foi arquivado.archive_mode STRINGAplica-se a:
Databricks SQL
Databricks Runtime 16.4 e superior quando cloudFiles.cleanSourceestá habilitado. Consulte as opções do Carregador Automático.MOVEsecloudFiles.cleanSourcefoi definido comoMOVEquando o arquivo foi arquivado.DELETEsecloudFiles.cleanSourcefoi definido comoDELETEquando o arquivo foi arquivado.NULLsecloudFiles.cleanSourcefoi definido comoOFF(padrão).move_location STRINGAplica-se a:
Databricks SQL
Databricks Runtime 16.4 e superior quando cloudFiles.cleanSourceestá habilitado. Consulte as opções do Carregador Automático.O caminho completo para o qual o arquivo foi movido durante a operação de arquivamento quando
cloudFiles.cleanSourcefoi definido comoMOVE.NULLse o arquivo não tiver sido arquivado oucloudFiles.cleanSourcefor um deDELETEouOFF.source_id STRINGA ID da origem do Carregador automático na consulta de streaming. Esse valor é
'0'para fluxos que ingerem de um único local de armazenamento de objetos na nuvem.flow_name STRINGAplica-se a:
Databricks SQL
Databricks Runtime 13.3 e superiorRepresenta um fluxo de streaming específico no Lakeflow Spark Declarative Pipelines que contém uma ou mais fontes de arquivos de nuvem. NULL se nenhum nome_da_tabela tiver sido fornecido.
ingestion_state STRINGAplica-se a:
Databricks SQL
Databricks Runtime 16.4 e superior quando cloudFiles.cleanSourceestá habilitado. Consulte as opções do Carregador Automático.Se o arquivo foi ingerido, indicado por um dos seguintes estados:
-
NULL: o arquivo ainda não foi processado ou o estado do arquivo não pode ser determinado pelo Carregador Automático. -
PROCESSING: o arquivo está sendo processado. -
SKIPPED_CORRUPTED: o arquivo não foi ingerido porque estava corrompido. -
SKIPPED_MISSING: o arquivo não foi ingerido porque não foi encontrado durante o processamento. -
INGESTED: o arquivo foi processado pelo coletor, pelo menos, uma vez. Ele pode ser processado novamente por coletores não idempotentes, comoforeachBatchem caso de falhas no fluxo. Somente os arquivos com um campo não nulocommit_timeque estão no estadoINGESTEDconcluíram o processamento. -
NOT_RECOGNIZED_BY_DBR: reservado para compatibilidade com versões. Esse estado será exibido para estados introduzidos em versões posteriores do Databricks Runtime que não são reconhecidas por versões anteriores do Databricks Runtime.
-
Permissões
Você precisa ter:
- Se estiver usando um identificador de tabela de streaming
- Databricks Runtime 17.1 e abaixo:
OWNERprivilégios na tabela de streaming - Databricks SQL e Databricks Runtime 17.2 e versões posteriores:
SELECTeMODIFYos privilégios na tabela de streaming
- Databricks Runtime 17.1 e abaixo:
- O
READ FILEStem privilégios no local do ponto de verificação se fornecer um ponto de verificação em um local externo.
Exemplos
-- 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
Limitações
- Os usuários
cloud_files_stateque leem uma exibição que faz referência a uma tabela de streaming devem terSELECTprivilégios na exibição e os privilégios necessários na tabela de streaming.