STL_LOAD_ERRORS
모든 Amazon Redshift 로드 오류에 대한 레코드를 표시합니다.
STL_LOAD_ERRORS에는 모든 Amazon Redshift 로드 오류에 대한 이력이 저장됩니다. 가능한 로드 오류와 설명을 나타낸 전체 목록은 로드 오류 참조 섹션을 참조하세요.
구문 분석 오류가 발생한 경우 STL_LOAD_ERRORS에 대한 쿼리를 실행하여 오류에 대한 일반 정보를 확인한 이후에도 정확한 데이터 행과 열 등을 포함하여 그 밖의 세부 정보를 알고 싶다면 STL_LOADERROR_DETAIL에 대한 쿼리를 실행합니다.
STL_LOAD_ERRORS는 모든 사용자에게 표시됩니다. 수퍼유저는 모든 행을 볼 수 있지만 일반 사용자는 자체 데이터만 볼 수 있습니다. 자세한 내용은 시스템 테이블 및 뷰에 있는 데이터의 가시성 단원을 참조하십시오.
참고
STL_LOAD_ERRORS에는 기본 클러스터에서 실행되는 쿼리만 포함됩니다. 동시성 조정 클러스터에서 실행되는 쿼리는 포함되지 않습니다. 기본 및 동시성 조정 클러스터 모두에서 실행되는 쿼리에 액세스하려면 SYS 모니터링 뷰인 SYS_LOAD_ERROR_DETAIL을 사용하는 것이 좋습니다. SYS 모니터링 뷰의 데이터는 사용 및 이해가 더 쉽도록 형식이 지정되어 있습니다.
테이블 열
열 명칭 | 데이터 유형 | 설명 |
---|---|---|
userid | 정수 | 항목을 생성한 사용자의 ID. |
slice | 정수 | 오류가 발생한 조각 |
tbl | 정수 | 테이블 ID. |
starttime | 타임스탬프 | 로드 시작 시간(UTC) |
session | 정수 | 로드 실행 세션의 세션 ID |
쿼리 | 정수 | 쿼리 ID. 쿼리 열을 사용하여 다른 시스템 테이블 및 보기를 조인할 수 있습니다. |
filename | character(256) | 로드할 입력 파일의 전체 경로 |
line_number | bigint | 로드 파일에서 오류가 발생한 라인 번호 JSON을 통한 COPY 작업일 때는 오류가 발생한 JSON 객체의 마지막 라인 번호입니다. |
colname | character(127) | 오류가 발생한 필드 |
type | character(10) | 필드의 데이터 형식입니다. |
col_length | character(10) | 열 길이(해당되는 경우). 이 필드는 데이터 형식에 길이 제한이 있을 때 채워집니다. 예를 들어 열의 데이터 형식이 "character(3)"일 때는 이 열에 "3"의 값이 저장됩니다. |
position | 정수 | 필드의 오류 위치 |
raw_line | character(1024) | 오류가 포함된 원시 로드 데이터. 로드 데이터의 멀티바이트 문자는 마침표로 대체됩니다. |
raw_field_value | char(1024) | "colname" 필드에서 구문 분석 오류의 원인이 되는 사전 구문 분석 값 |
err_code | 정수 | 오류 코드. |
err_reason | character(100) | 오류 설명 |
is_partial | 정수 | true(1)인 경우 COPY 작업 중에 입력 파일이 범위로 분할됨을 나타내는 값입니다. 이 값이 false(0)이면 입력 파일이 분할되지 않습니다. |
start_offset | bigint | COPY 작업 중에 입력 파일이 분할되는 경우 분할의 오프셋 값(바이트 단위)을 나타내는 값입니다. 파일의 줄 번호를 알 수 없는 경우 줄 번호는 -1입니다. 파일이 분할되지 않은 경우 이 값은 0입니다. |
copy_job_id | bigint | 복사 작업 식별자입니다. 0 은 작업 식별자가 없음을 나타냅니다. |
샘플 쿼리
다음은 STL_LOAD_ERRORS를 STL_LOADERROR_DETAIL로 조인하여 가장 최근 로드 도중 발생한 오류 정보를 표시하는 쿼리입니다.
select d.query, substring(d.filename,14,20), d.line_number as line, substring(d.value,1,16) as value, substring(le.err_reason,1,48) as err_reason from stl_loaderror_detail d, stl_load_errors le where d.query = le.query and d.query = pg_last_copy_id(); query | substring | line | value | err_reason -------+-------------------+------+----------+---------------------------- 558| allusers_pipe.txt | 251 | 251 | String contains invalid or unsupported UTF8 code 558| allusers_pipe.txt | 251 | ZRU29FGR | String contains invalid or unsupported UTF8 code 558| allusers_pipe.txt | 251 | Kaitlin | String contains invalid or unsupported UTF8 code 558| allusers_pipe.txt | 251 | Walter | String contains invalid or unsupported UTF8 code
다음은 STL_LOAD_ERRORS와 STV_TBL_PERM을 함께 사용하여 새로운 뷰를 생성한 다음 이 뷰에서 EVENT 테이블로 데이터를 로드할 때 발생한 오류를 확인하는 예입니다.
create view loadview as (select distinct tbl, trim(name) as table_name, query, starttime, trim(filename) as input, line_number, colname, err_code, trim(err_reason) as reason from stl_load_errors sl, stv_tbl_perm sp where sl.tbl = sp.id);
다음은 EVENT 테이블에 로드하는 도중 마지막으로 발생한 오류를 실제로 반환하는 쿼리입니다.
select table_name, query, line_number, colname, starttime, trim(reason) as error from loadview where table_name ='event' order by line_number limit 1;
위 쿼리는 EVENT 테이블에서 발생한 마지막 로드 오류를 반환합니다. 발생한 로드 오류가 없는 경우에는 쿼리가 0개의 행을 반환합니다. 이번 예에서는 쿼리가 단일 오류를 반환합니다.
table_name | query | line_number | colname | error | starttime ------+-----+----+----+--------------------------------------------------------+---------------------- event | 309 | 0 | 5 | Error in Timestamp value or format [%Y-%m-%d %H:%M:%S] | 2014-04-22 15:12:44 (1 row)
병렬 처리를 용이하게 하기 위해 COPY 명령이 압축되지 않은 텍스트로 구분된 큰 파일 데이터를 자동으로 분할하는 경우 line_number, is_partial 및 start_offset 열은 분할과 관련된 정보를 표시합니다. (원본 파일의 줄 번호가 없을 경우 줄 번호를 알 수 없습니다.)
--scan ranges information SELECT line_number, POSITION, btrim(raw_line), btrim(raw_field_value), btrim(err_reason), is_partial, start_offset FROM stl_load_errors WHERE query = pg_last_copy_id(); --result -1,51,"1008771|13463413|463414|2|28.00|38520.72|0.06|0.07|NO|1998-08-30|1998-09-25|1998-09-04|TAKE BACK RETURN|RAIL|ans cajole sly","NO","Char length exceeds DDL length",1,67108864