티스토리 뷰
[AWS-Redshift] [Amazon](500310) Invalid operation: VACUUM is running; 오류
hs_seo 2019. 7. 18. 18:42Caused by: java.sql.SQLException: [Amazon](500310) Invalid operation: VACUUM is running;
at com.amazon.redshift.client.messages.inbound.ErrorResponse.toErrorException(Unknown Source)
at com.amazon.redshift.client.PGMessagingContext.handleErrorResponse(Unknown Source)
at com.amazon.redshift.client.PGMessagingContext.handleMessage(Unknown Source)
at com.amazon.jdbc.communications.InboundMessagesPipeline.getNextMessageOfClass(Unknown Source)
at com.amazon.redshift.client.PGMessagingContext.doMoveToNextClass(Unknown Source)
at com.amazon.redshift.client.PGMessagingContext.getErrorResponse(Unknown Source)
at com.amazon.redshift.client.PGClient.handleErrorsScenario3(Unknown Source)
at com.amazon.redshift.client.PGClient.handleErrors(Unknown Source)
at com.amazon.redshift.client.PGClient.handleAtomicStmtErrors(Unknown Source)
레드쉬프트(Redshift)의 Vacuum 작업은 데이터 파편화를 정리하는 작업입니다. Vacuum 동작은 한번씩 동작할 수 있습니다. 기존에 동작중인 Vacuum 동작이 있는데 다시 요청했을 때 오류가 발생합니다.이번 경우는 MR로 작업을 요청하고 MR을 kill 하였으나, 레드쉬프트 내부적으로 계속 Vacuum 작업이 진행되어 발생하였습니다. 이럴때는 동작중인 프로세스를 확인하고, Vacuum 작업을 kill 하거나 작업이 완료되는 것을 기다리면 됩니다.
# 동작중인 쿼리 확인
select pid, user_name, starttime, query
from stv_recents
where status='Running';
pid | btrim | starttime | substring
-------+------------+----------------------------+----------------------
18764 | masteruser | 2013-03-28 18:39:49.355918 | select sellerid, fir
(1 row)
# 실행중인 쿼리 취소
cancel 18764;
https://docs.aws.amazon.com/ko_kr/redshift/latest/dg/determine_pid.html
실행 중인 쿼리의 프로세스 ID(PID) 확인 - Amazon Redshift
실행 중인 쿼리의 프로세스 ID(PID) 확인 앞의 예에서는 SVL_QLOG 뷰에서 완료된 쿼리의 쿼리 ID와 프로세스 ID(PID)를 가져오는 방법을 배웠습니다. 아직도 실행 중인 쿼리의 PID를 찾아야 합니다. 예를 들어 실행에 너무 긴 시간이 소요되는 쿼리를 취소해야 하는 경우, PID가 필요합니다. STV_RECENTS 시스템 테이블을 쿼리하여 실행 중인 쿼리의 프로세스 ID 목록과 해당 쿼리 문자열을 가져올 수 있습니다. 쿼리가 여러 개의 PID
docs.aws.amazon.com
https://docs.aws.amazon.com/ko_kr/redshift/latest/dg/cancel_query.html
6단계: 쿼리 취소 - Amazon Redshift
6단계: 쿼리 취소 시간이 너무 오래 걸리거나 과도한 클러스터 리소스를 사용하는 쿼리를 사용자가 실행하는 경우, 해당 쿼리를 취소해야 합니다. 예를 들어 사용자가 티켓 판매자의 이름과 판매된 티켓 수량이 포함된 티켓 판매자 목록을 만들려 할 수 있습니다. 다음 쿼리는 SALES 테이블과 USERS 테이블에서 데이터를 선택하고 WHERE 절에서 SELLERID와 USERID를 일치시켜 두 테이블을 조인합니다. select sellerid, firstname
docs.aws.amazon.com
'AWS' 카테고리의 다른 글
[AWS] 비관리형, 관리형(Managed), 완전관리형(Fully-Managed) (0) | 2019.08.06 |
---|---|
[aws] 아마존 레드쉬프트(Amazon Redshift), EMR과 의 차이 (0) | 2019.07.29 |
[aws] S3 ls 명령에서 와일드카드 사용 대체하기 (0) | 2019.04.09 |
[S3] AWS EMR에서 _$folder$가 생성되는 이유 (0) | 2019.04.01 |
[AWS][S3] AWS 커맨드의 The AWS Access Key Id you provided does not exist in our records. 오류 처리 (0) | 2017.03.20 |
- Total
- Today
- Yesterday
- S3
- airflow
- Hadoop
- HDFS
- SPARK
- build
- Linux
- 알고리즘
- 파이썬
- nodejs
- 정올
- ubuntu
- emr
- yarn
- error
- hbase
- mysql
- 하둡
- AWS
- oozie
- 하이브
- 오류
- Python
- java
- Tez
- bash
- SQL
- HIVE
- 다이나믹
- 백준
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |