다음을 통해 공유


테이블 값 함수 cloud_files_state

적용 대상:체크표시가 있는 예 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 이상, cloudFiles.cleanSource가 활성화된 경우. 자동 로더 옵션을 참조하세요.

    파일이 처리된 시간입니다. 일괄 처리에서 오류가 발생하고 다시 시도되면 파일이 여러 번 처리될 수 있습니다. 재시도 시 이 필드에는 가장 최근의 처리 시간이 포함됩니다.

  • commit_time TIMESTAMP

    적용 대상:체크 표시된 예 Databricks SQL 체크 표시된 예 Databricks Runtime 16.4 이상, cloudFiles.cleanSource가 활성화된 경우. 자동 로더 옵션을 참조하세요.

    처리 후 파일이 검사점으로 커밋된 시간입니다. 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으로 설정되었다면.

    NULLcloudFiles.cleanSource (기본값)으로 설정되었으면 OFF입니다.

  • move_location STRING

    적용 대상:체크 표시된 예 Databricks SQL 체크 표시된 예 Databricks Runtime 16.4 이상, cloudFiles.cleanSource가 활성화된 경우. 자동 로더 옵션을 참조하세요.

    cloudFiles.cleanSourceMOVE로 설정되었을 때 보관 작업 중에 파일이 이동된 전체 경로입니다.

    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 이상, cloudFiles.cleanSource가 활성화된 경우. 자동 로더 옵션을 참조하세요.

    다음 상태 중 하나로 표시된 파일이 수집되었는지 여부입니다.

    • NULL: 파일이 아직 처리되지 않았거나 자동 로더에서 파일 상태를 확인할 수 없습니다.
    • PROCESSING: 파일이 처리 중입니다.
    • SKIPPED_CORRUPTED: 파일이 손상되어 처리되지 않았습니다.
    • SKIPPED_MISSING: 파일이 처리 중에 발견되지 않아 수집되지 않았습니다.
    • INGESTED: 파일이 싱크에서 한 번 이상 처리되었습니다. 스트림에 오류가 발생할 경우, foreachBatch 같은 멱등이 아닌 싱크에서 다시 처리될 수 있습니다. null commit_time 이 아닌 필드가 있는 상태의 INGESTED 파일만 처리를 완료했습니다.
    • NOT_RECOGNIZED_BY_DBR: 버전 호환성을 위해 예약되었습니다. 이 상태는 이전 Databricks 런타임 버전에서 인식할 수 없는 이후 Databricks 런타임 버전에 도입된 상태에 대해 표시됩니다.

사용 권한

필요한 것은 다음과 같습니다.

  • 스트리밍 테이블 식별자를 사용하는 경우
    • Databricks Runtime 17.1 이하: OWNER 스트리밍 테이블에 대한 권한
    • Databricks SQL 및 Databricks Runtime 17.2 이상: 스트리밍 테이블에 대한 SELECTMODIFY 권한
  • 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 있어야 합니다.