Azure 스테이지에서 데이터 복사하기

스테이징된 파일에서 대상 테이블로 데이터를 로드합니다.

이 항목의 내용:

데이터 로드하기

COPY INTO <테이블> 을 실행하여 데이터를 대상 테이블로 로드합니다.

참고

데이터를 로드하려면 웨어하우스 가 필요합니다. 자동 재개하도록 구성되지 않은 웨어하우스를 사용 중인 경우 ALTER WAREHOUSE 를 실행하여 웨어하우스를 재개하십시오. 웨어하우스를 시작하기 위해서는 최대 5분이 걸릴 수 있습니다.

ALTER WAREHOUSE mywarehouse RESUME;
Copy

다음 예에서는 Azure 스테이지 만들기 에서 생성된 my_azure_stage 스테이지의 파일에서 데이터를 로드합니다. 이 명령은 패턴 일치를 사용하여 이름이 sales 문자열로 시작하는 파일만 로드합니다.

COPY INTO mytable
  FROM @my_azure_stage
  PATTERN='.*sales.*.csv';
Copy

명명된 파일 형식이 스테이지 정의에 포함되어 있으므로 파일 형식 옵션이 지정되지 않습니다.

다음 예에서는 데이터 로드 준비하기 에서 생성한 명명된 my_csv_format 파일 형식을 사용하여 Azure 컨테이너에서 접두사가 data/files 인 모든 파일을 로드합니다.

COPY INTO mytable
  FROM 'azure://myaccount.blob.core.windows.net/mycontainer/data/files'
  CREDENTIALS=(AZURE_SAS_TOKEN='?sv=2016-05-31&ss=b&srt=sco&sp=rwdl&se=2018-06-27T10:05:50Z&st=2017-06-27T02:05:50Z&spr=https,http&sig=abcDEFGHIjklmNOPqrsTUVwxyZ123456789%3D')
  ENCRYPTION=(TYPE='AZURE_CSE' MASTER_KEY = 'aBcDeFGHI0jklMnoP0QrsTUVWXyz1234567891abcDEFG=')
  FILE_FORMAT = (FORMAT_NAME = my_csv_format);
Copy

다음 임시 예시는 Azure 컨테이너의 모든 파일에서 데이터를 로드합니다. COPY 명령은 명명된 파일 형식을 참조하는 대신 파일 형식 옵션을 지정합니다. 이 예에서는 파이프(|) 필드 구분 기호가 있는 CSV 파일을 로드합니다. COPY 명령은 데이터 파일의 첫 번째 줄을 건너뜁니다.

COPY INTO mytable
  FROM 'azure://myaccount.blob.core.windows.net/mycontainer/data/files'
  CREDENTIALS=(AZURE_SAS_TOKEN='?sv=2016-05-31&ss=b&srt=sco&sp=rwdl&se=2018-06-27T10:05:50Z&st=2017-06-27T02:05:50Z&spr=https,http&sig=abcDEFGHIjklmNOPqrsTUVwxyZ123456789%3D')
  ENCRYPTION=(TYPE='AZURE_CSE' MASTER_KEY = 'aBcDeFGHI0jklMnoP0QrsTUVWXyz1234567891abcDEFG=')
  FILE_FORMAT = (TYPE = CSV FIELD_DELIMITER = '|' SKIP_HEADER = 1);
Copy

데이터 유효성 검사하기

데이터를 로드하기 전, 업로드된 파일의 데이터가 올바르게 로드되는지 확인할 수 있습니다.

업로드된 파일 데이터의 유효성을 검사하려면 VALIDATION_MODE 매개 변수를 사용하여 유효성 검사 모드에서 COPY INTO <테이블> 을 실행합니다. VALIDATION_MODE 매개 변수는 파일에서 발생한 오류를 반환합니다. 그런 다음 파일의 데이터를 수정하여 오류 없이 로드할 수 있습니다.

또한, COPY INTO <테이블> 은 ON_ERROR 복사 옵션을 제공하여 로드 중 파일에 오류가 발생하는 경우 수행할 작업을 지정할 수 있습니다.

참고

Azure 저장소 계정은 MD5 파일 유효성 검사 기능을 지원하지만, Azure는 100 MB 보다 큰 파일에 대해서는 MD5 해시 값을 계산하지 않습니다. 자세한 내용은 대용량 파일의 MD5 해시 계산 섹션을 참조하십시오.

데이터 로드 모니터링하기

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

복사할 파일 이름 목록을 지정하거나 패턴 일치를 사용하여 파일을 복사할 수도 있습니다. 자세한 내용은 COPY FILES 예제 섹션을 참조하십시오.