S3 스테이지에서 데이터 복사하기¶
스테이징된 파일에서 대상 테이블로 데이터를 로드합니다.
이 항목의 내용:
데이터 로드하기¶
COPY INTO <테이블> 을 실행하여 데이터를 대상 테이블로 로드합니다.
참고
데이터를 로드하려면 웨어하우스 가 필요합니다. 자동으로 다시 시작하도록 설정되지 않은 웨어하우스를 사용 중인 경우에는 ALTER WAREHOUSE 를 실행하여 웨어하우스를 재개합니다. 웨어하우스를 시작하기 위해서는 최대 5분이 걸릴 수 있습니다.
ALTER WAREHOUSE mywarehouse RESUME;
다음 예에서는 S3 스테이지 만들기 에서 생성된 my_ext_stage
스테이지의 파일에서 데이터를 로드합니다. 이 명령은 패턴 일치를 사용하여 이름이 sales
문자열로 시작하는 파일만 로드합니다.
COPY INTO mytable FROM @my_ext_stage PATTERN='.*sales.*.csv';
명명된 파일 형식이 스테이지 정의에 포함되어 있으므로 파일 형식 옵션이 지정되지 않습니다.
다음 예에서는 데이터 로드 준비하기 에서 생성한 명명된 my_csv_format
파일 형식을 사용하여 S3 버킷에서 접두사가 data/files
인 모든 파일을 로드합니다.
COPY INTO mytable FROM s3://mybucket/data/files credentials=(AWS_KEY_ID='$AWS_ACCESS_KEY_ID' AWS_SECRET_KEY='$AWS_SECRET_ACCESS_KEY') FILE_FORMAT = (FORMAT_NAME = my_csv_format);
다음 임시 예시는 S3 버킷의 모든 파일에서 데이터를 로드합니다. COPY 명령은 명명된 파일 형식을 참조하는 대신 파일 형식 옵션을 지정합니다. 이 예에서는 파이프(|
) 필드 구분 기호가 있는 CSV 파일을 로드합니다. COPY 명령은 데이터 파일의 첫 번째 줄을 건너뜁니다.
COPY INTO mytable
FROM s3://mybucket credentials=(AWS_KEY_ID='$AWS_ACCESS_KEY_ID' AWS_SECRET_KEY='$AWS_SECRET_ACCESS_KEY')
FILE_FORMAT = (TYPE = CSV FIELD_DELIMITER = '|' SKIP_HEADER = 1);
데이터 유효성 검사하기¶
데이터를 로드하기 전, 업로드된 파일의 데이터가 올바르게 로드되는지 확인할 수 있습니다.
업로드된 파일 데이터의 유효성을 검사하려면 VALIDATION_MODE 매개 변수를 사용하여 유효성 검사 모드에서 COPY INTO <테이블> 을 실행합니다. VALIDATION_MODE 매개 변수는 파일에서 발생한 오류를 반환합니다. 그런 다음 파일의 데이터를 수정하여 오류 없이 로드할 수 있습니다.
또한, COPY INTO <테이블> 은 ON_ERROR 복사 옵션을 제공하여 로드 중 파일에 오류가 발생하는 경우 수행할 작업을 지정할 수 있습니다.
데이터 로드 모니터링하기¶
Snowflake는 이전 14일 이내에 실행된 COPY INTO 명령에 대한 과거 데이터를 유지합니다. 메타데이터는 업로드 완료 후 파일 삭제를 포함하여 로드 프로세스를 모니터링하고 관리하기 위한 용도로 사용할 수 있습니다.
각 COPY INTO <테이블> 명령의 상태는 Classic Console 의 History 페이지에서 모니터링할 수 있습니다.
LOAD_HISTORY Information Schema 뷰를 사용하여 COPY INTO 명령을 통해 테이블에 로드된 데이터 내역을 검색합니다.
한 스테이지에서 다른 스테이지로 파일 복사하기¶
COPY FILES 명령을 사용하면 명명된 한 스테이지에서 다른 스테이지로 파일을 복사하여 데이터를 단일 위치로 구성할 수 있습니다.
다음 예시에서는 원본 스테이지(src_stage
)의 모든 파일을 대상 스테이지(trg_stage
)에 복사합니다.
COPY FILES
INTO @trg_stage
FROM @src_stage;
복사할 파일 이름 목록을 지정하거나 패턴 일치를 사용하여 파일을 복사할 수도 있습니다. 자세한 내용은 COPY FILES 예 를 참조하십시오.