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 | 정수 | 쿼리가 실행 중인 슬라이스를 식별하는 번호. |
name | 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)