SYS_LOAD_DETAIL - Amazon Redshift

SYS_LOAD_DETAIL

데이터 로드를 추적하거나 문제를 해결하기 위한 정보를 반환합니다.

이 뷰는 데이터베이스 테이블에 로드되는 각 데이터 파일의 진행 상황을 기록합니다.

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

테이블 열

열 명칭 데이터 유형 설명
user_id 정수 항목을 생성한 사용자의 ID.
query_id 정수 쿼리 ID.
file_name character(256) 로드할 파일 이름입니다.
bytes_scanned 정수 Amazon S3의 파일에서 스캔한 바이트 수입니다.
lines_scanned 정수 로드 파일에서 스캔되는 라인 수. 이 라인 수는 실제로 로드되는 행의 수와 다를 수도 있습니다. 예를 들어 로드 작업은 COPY 명령의 MAXERROR 옵션에 따라 스캔 도중에도 다수의 불량 레코드를 허용할 수도 있기 때문입니다.
record_time 타임스탬프 이 항목이 마지막으로 업데이트된 시간
splits_scanned 이 파일의 분할 수입니다. 이 파일의 분할 수입니다.
start_time 타임스탬프 이 파일 처리가 시작된 시간입니다.
end_time 타임스탬프 이 파일 처리가 종료된 시간입니다.

샘플 쿼리

다음은 마지막 COPY 작업의 세부 정보를 반환하는 예입니다.

select query_id, trim(file_name) as file, record_time from sys_load_detail where query_id = pg_last_copy_id(); query_id | file | record_time ----------+----------------------------------+---------------------------- 28554 | s3://dw-tickit/category_pipe.txt | 2013-11-01 17:14:52.648486 (1 row)

다음은 TICKIT 데이터베이스에 새로운 테이블 로드 항목을 저장하는 쿼리입니다.

select query_id, trim(file_name), record_time from sys_load_detail where file_name like '%tickit%' order by query_id; query_id | btrim | record_time ----------+--------------------------+---------------------------- 22475 | tickit/allusers_pipe.txt | 2013-02-08 20:58:23.274186 22478 | tickit/venue_pipe.txt | 2013-02-08 20:58:25.070604 22480 | tickit/category_pipe.txt | 2013-02-08 20:58:27.333472 22482 | tickit/date2008_pipe.txt | 2013-02-08 20:58:28.608305 22485 | tickit/allevents_pipe.txt| 2013-02-08 20:58:29.99489 22487 | tickit/listings_pipe.txt | 2013-02-08 20:58:37.632939 22593 | tickit/allusers_pipe.txt | 2013-02-08 21:04:08.400491 22596 | tickit/venue_pipe.txt | 2013-02-08 21:04:10.056055 22598 | tickit/category_pipe.txt | 2013-02-08 21:04:11.465049 22600 | tickit/date2008_pipe.txt | 2013-02-08 21:04:12.461502 22603 | tickit/allevents_pipe.txt| 2013-02-08 21:04:14.785124 22605 | tickit/listings_pipe.txt | 2013-02-08 21:04:20.170594 (12 rows)

레코드가 이 시스템 뷰의 로그 파일에 작성된다고 해서 저장 트랜잭션(containing transaction)에서 로드가 성공적으로 커밋되었다는 것을 의미하지는 않습니다. 로드 커밋 여부를 확인하려면 STL_UTILITYTEXT 뷰에 대한 쿼리를 실행하여 COPY 트랜잭션과 일치하는 COMMIT 레코드를 찾습니다. 예를 들어 다음 쿼리는 STL_UTILITYTEXT에 대한 하위 쿼리를 기준으로 SYS_LOAD_DETAIL 테이블과 STL_QUERY 테이블을 조인합니다.

select l.query_id,rtrim(l.file_name),q.xid from sys_load_detail l, stl_query q where l.query_id=q.query and exists (select xid from stl_utilitytext where xid=q.xid and rtrim("text")='COMMIT'); query_id | rtrim | xid ----------+---------------------------+------- 22600 | tickit/date2008_pipe.txt | 68311 22480 | tickit/category_pipe.txt | 68066 7508 | allusers_pipe.txt | 23365 7552 | category_pipe.txt | 23415 7576 | allevents_pipe.txt | 23429 7516 | venue_pipe.txt | 23390 7604 | listings_pipe.txt | 23445 22596 | tickit/venue_pipe.txt | 68309 22605 | tickit/listings_pipe.txt | 68316 22593 | tickit/allusers_pipe.txt | 68305 22485 | tickit/allevents_pipe.txt | 68071 7561 | allevents_pipe.txt | 23429 7541 | category_pipe.txt | 23415 7558 | date2008_pipe.txt | 23428 22478 | tickit/venue_pipe.txt | 68065 526 | date2008_pipe.txt | 2572 7466 | allusers_pipe.txt | 23365 22482 | tickit/date2008_pipe.txt | 68067 22598 | tickit/category_pipe.txt | 68310 22603 | tickit/allevents_pipe.txt | 68315 22475 | tickit/allusers_pipe.txt | 68061 547 | date2008_pipe.txt | 2572 22487 | tickit/listings_pipe.txt | 68072 7531 | venue_pipe.txt | 23390 7583 | listings_pipe.txt | 23445 (25 rows)