STL_FILE_SCAN - Amazon Redshift

STL_FILE_SCAN

COPY 명령을 사용하여 데이터를 로드하면서 Amazon Redshift가 읽은 파일을 반환합니다.

이 뷰에 대해 쿼리를 실행하면 데이터 로드 오류를 해결하는 데 도움이 될 수 있습니다. 특히 STL_FILE_SCAN은 병렬 데이터 로드 시 문제를 찾아내는 데 효과적입니다. 병렬 데이터 로드는 단일 COPY 명령으로 다수의 파일을 로드하기 때문입니다.

STL_FILE_SCAN은 모든 사용자에게 표시됩니다. 수퍼유저는 모든 행을 볼 수 있지만 일반 사용자는 자체 데이터만 볼 수 있습니다. 자세한 내용은 시스템 테이블 및 뷰에 있는 데이터의 가시성 단원을 참조하십시오.

참고

STL_FILE_SCAN에는 기본 클러스터에서 실행되는 쿼리만 포함됩니다. 동시성 조정 클러스터에서 실행되는 쿼리는 포함되지 않습니다. 기본 및 동시성 조정 클러스터 모두에서 실행되는 쿼리에 액세스하려면 SYS 모니터링 뷰인 SYS_LOAD_DETAIL을 사용하는 것이 좋습니다. SYS 모니터링 뷰의 데이터는 사용 및 이해가 더 쉽도록 형식이 지정되어 있습니다.

테이블 열

열 명칭 데이터 유형 설명
userid 정수 항목을 생성한 사용자의 ID.
쿼리 정수 쿼리 ID. 쿼리 열을 사용하여 다른 시스템 테이블 및 보기를 조인할 수 있습니다.
slice 정수 쿼리가 실행 중인 슬라이스를 식별하는 번호.
이름 character(90) 로드된 파일의 전체 경로 및 이름
lines bigint 파일에서 읽어온 라인 수
bytes bigint 파일에서 읽어온 바이트 수
loadtime bigint 파일을 로드하는 데 걸린 시간(마이크로초)
curtime Timestamp Amazon Redshift가 파일 처리를 시작한 시간의 타임스탬프.
is_partial 정수 true(1)인 경우 COPY 작업 중에 입력 파일이 범위로 분할됨을 나타내는 값입니다. 이 값이 false(0)이면 입력 파일이 분할되지 않습니다.
start_offset bigint COPY 작업 중에 입력 파일이 분할되는 경우 분할의 오프셋 값(바이트 단위)을 나타내는 값입니다. 파일이 분할되지 않은 경우 이 값은 0입니다.

샘플 쿼리

다음은 Amazon Redshift가 읽어오는 데 1,000,000마이크로초 이상이 걸린 모든 파일의 이름과 로드 시간을 가져오는 쿼리입니다.

select trim(name)as name, loadtime from stl_file_scan where loadtime > 1000000;

위 쿼리는 다음과 같은 예 출력을 반환합니다.

name | loadtime ---------------------------+---------- listings_pipe.txt | 9458354 allusers_pipe.txt | 2963761 allevents_pipe.txt | 1409135 tickit/listings_pipe.txt | 7071087 tickit/allevents_pipe.txt | 1237364 tickit/allusers_pipe.txt | 2535138 listings_pipe.txt | 6706370 allusers_pipe.txt | 3579461 allevents_pipe.txt | 1313195 tickit/allusers_pipe.txt | 3236060 tickit/listings_pipe.txt | 4980108 (11 rows)