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 복사 옵션을 제공하여 로드 중 파일에 오류가 발생하는 경우 수행할 작업을 지정할 수 있습니다.

데이터 로드 모니터링하기

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 예 를 참조하십시오.