테이블 값 함수
적용 대상:
Databricks SQL
Databricks Runtime 11.3 LTS 이상
자동 로더 또는 read_files 스트림의 파일 수준 상태를 반환합니다.
구문
cloud_files_state( { TABLE ( table_name ) | checkpoint } )
논쟁
-
table_name: 에 의해 기록되는
read_files의 식별자입니다. 이름에는 임시 사양이 포함되지 않아야 합니다. Databricks Runtime 13.3 LTS 이상에서 사용할 수 있습니다. -
checkpoint: 리터럴입니다STRING. 자동 로더 원본을 사용하는 스트림의 검사점 디렉터리입니다. 자동 로더란?을 참조하세요.
반품
다음 스키마가 있는 테이블을 반환합니다.
path STRING NOT NULL PRIMARY KEY파일의 경로입니다.
size BIGINT NOT NULL파일의 크기(바이트)입니다.
create_time TIMESTAMP NOT NULL파일을 만든 시간입니다.
discovery_time TIMESTAMP NOT NULL적용 대상:
Databricks SQL
Databricks Runtime 16.4 이상파일이 검색된 시간입니다.
processed_time TIMESTAMP NOT NULL적용 대상:
Databricks SQL
Databricks Runtime 16.4 이상다음을 위해 채워집니다. Databricks Runtime 16.4 이상
cloudFiles.cleanSource에서 실행되는 자동 로더 스트림 또는 Databricks Runtime 18.2 이상에서 처리된 파일입니다. 일반을 참조 하세요.파일이 처리된 시간입니다. 일괄 처리에서 오류가 발생하고 다시 시도되면 파일이 여러 번 처리될 수 있습니다. 재시도 시 이 필드에는 가장 최근의 처리 시간이 포함됩니다.
commit_time TIMESTAMP적용 대상:
Databricks SQL
Databricks Runtime 16.4 이상다음을 위해 채워집니다. Databricks Runtime 16.4 이상
cloudFiles.cleanSource에서 실행되는 자동 로더 스트림 또는 Databricks Runtime 18.2 이상에서 처리된 파일입니다. 일반을 참조 하세요.처리 후 파일이 검사점으로 커밋된 시간입니다.
NULL파일이 아직 처리되지 않은 경우입니다. 파일을 커밋된 것으로 표시하기 위한 대기 시간은 보장되지 않습니다. 파일이 처리될 수 있지만 나중에 임의로 커밋된 것으로 표시됩니다. 파일을 커밋된 파일로 표시하면 자동 로더에서 파일을 다시 처리할 필요가 없습니다.archive_time TIMESTAMP적용 대상:
Databricks SQL
Databricks Runtime 16.4 이상, cloudFiles.cleanSource가 활성화된 경우. 일반을 참조 하세요.파일이 보관된 시간입니다.
NULL파일이 보관되지 않은 경우입니다.archive_mode STRING적용 대상:
Databricks SQL
Databricks Runtime 16.4 이상, cloudFiles.cleanSource가 활성화된 경우. 일반을 참조 하세요.MOVE파일이 보관될 때cloudFiles.cleanSource이/가MOVE으로 설정되었다면.DELETE파일이 보관될 때cloudFiles.cleanSource이/가DELETE으로 설정되었다면.NULL이cloudFiles.cleanSource(기본값)으로 설정되었으면OFF입니다.move_location STRING적용 대상:
Databricks SQL
Databricks Runtime 16.4 이상, cloudFiles.cleanSource가 활성화된 경우. 일반을 참조 하세요.cloudFiles.cleanSource이MOVE로 설정되었을 때 보관 작업 중에 파일이 이동된 전체 경로입니다.NULL파일이 보관되지 않았거나cloudFiles.cleanSource이/가DELETE또는OFF중 하나인 경우.source_id STRING스트리밍 쿼리의 자동 로더 원본 ID입니다. 이 값은 단일 클라우드 개체 저장소 위치에서 수집하는 스트림에 대한 값입니다
'0'.flow_name STRING적용 대상:
Databricks SQL
Databricks Runtime 13.3 이상하나 이상의 클라우드 파일 원본을 포함하는 Lakeflow Spark 선언적 파이프라인의 특정 스트리밍 흐름을 나타냅니다. table_name 지정되지 않은 경우 NULL입니다.
ingestion_state STRING적용 대상:
Databricks SQL
Databricks Runtime 16.4 이상다음을 위해 채워집니다. Databricks Runtime 16.4 이상
cloudFiles.cleanSource에서 실행되는 자동 로더 스트림 또는 Databricks Runtime 18.2 이상에서 처리된 파일입니다. 일반을 참조 하세요.다음 상태 중 하나로 표시된 파일이 수집되었는지 여부입니다.
-
NULL: 파일이 아직 처리되지 않았거나 자동 로더에서 파일 상태를 확인할 수 없습니다. -
PROCESSING: 파일이 처리 중입니다. -
SKIPPED_CORRUPTED: 파일이 손상되어 처리되지 않았습니다. -
SKIPPED_MISSING: 파일이 처리 중에 발견되지 않아 수집되지 않았습니다. -
INGESTED: 파일이 싱크에서 한 번 이상 처리되었습니다. 스트림에 오류가 발생할 경우,foreachBatch같은 멱등이 아닌 싱크에서 다시 처리될 수 있습니다. nullcommit_time이 아닌 필드가 있는 상태의INGESTED파일만 처리를 완료했습니다. -
NOT_RECOGNIZED_BY_DBR: 버전 호환성을 위해 예약되었습니다. 이 상태는 이전 Databricks 런타임 버전에서 인식할 수 없는 이후 Databricks 런타임 버전에 도입된 상태에 대해 표시됩니다.
-
사용 권한
필요한 것은 다음과 같습니다.
- 스트리밍 테이블 식별자를 사용하는 경우
- Databricks Runtime 17.1 이하:
OWNER스트리밍 테이블에 대한 권한 - Databricks SQL 및 Databricks Runtime 17.2 이상: 스트리밍 테이블에 대한
SELECT및MODIFY권한
- Databricks Runtime 17.1 이하:
-
READ FILES외부 위치에 검사점을 제공하는 경우 검사점 위치에 대한 권한입니다.
예제
-- 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
제한점
- 스트리밍 테이블을 참조
cloud_files_state하는 보기를 읽는 사용자는 보기에 대한 권한과 스트리밍 테이블에 필요한 권한이 모두SELECT있어야 합니다.