데이터 언로드 개요

데이터 로딩과 유사하게, Snowflake는 데이터베이스 테이블에서 구분 기호로 분리된 일반 텍스트 파일로의 대량 내보내기(즉, 언로드)를 지원합니다.

이 항목의 내용:

대량 언로드 프로세스

데이터를 파일로 언로드하는 프로세스는 로드 프로세스와 동일하지만, 반대의 경우는 그렇지 않습니다.

1단계:

COPY INTO <위치> 명령을 사용하여 Snowflake 데이터베이스 테이블에서 Snowflake 또는 외부 스테이지의 1개 이상 파일로 데이터를 복사합니다.

2단계:

스테이지에서 파일 다운로드:

  • Snowflake 스테이지에서, GET 명령을 사용하여 데이터 파일을 다운로드합니다.

  • Amazon S3에서 제공하는 인터페이스/도구를 사용하여 S3에서 데이터 파일을 가져옵니다.

  • Microsoft Azure에서 제공하는 인터페이스/도구를 사용하여 Azure에서 데이터 파일을 가져옵니다.

쿼리를 사용한 대량 언로드

Snowflake는 COPY INTO <위치> 명령에서 테이블 대신 SELECT 문을 지정하는 기능을 지원합니다. 명령에 지정된 대로 쿼리 결과는 1개 이상의 파일에 기록되며 파일은 지정된 위치(내부 또는 외부)에 저장됩니다.

COPY 문의 SELECT 쿼리는 JOIN 절 등 Snowflake SQL 쿼리의 전체 구문과 의미 체계를 지원하므로 여러 테이블에서 데이터를 다운로드할 수 있습니다.

단일 또는 여러 파일로 대량 언로드

COPY INTO <location> 명령은 단일 파일 또는 여러 파일로 데이터를 언로드하기 위한 복사 옵션(SINGLE)을 제공합니다. 기본값은 SINGLE = FALSE(즉, 여러 파일로 언로드)입니다.

Snowflake는 각 파일에 고유한 이름을 할당합니다. 명령에 지정된 위치 경로에는 생성되는 모든 데이터 파일에 할당되는 파일 이름 접두사가 포함됩니다. 접두사가 지정되지 않으면, Snowflake는 생성되는 파일 이름에 data_ 라는 접두사를 추가합니다.

Snowflake는 접미사를 추가하여 병렬 실행 스레드(예: data_stats_0_1_0)에서 각 파일이 고유한 이름을 갖도록 합니다.

여러 파일에 데이터를 언로드하는 경우에는 MAX_FILE_SIZE 복사 옵션을 사용하여 생성되는 각 파일의 최대 크기를 지정합니다.

분할된 데이터 언로드

COPY INTO <location> 명령에는 분할된 데이터를 스테이지에 언로드하기 위한 PARTITION BY 복사 옵션이 포함됩니다.

언로딩 작업 중에 데이터를 분할하는 기능은 Snowflake를 사용하여 출력 데이터를 데이터 레이크로 변환하는 등 다양한 사용 사례에 적용할 수 있습니다. 또한, 언로딩된 데이터를 클라우드 저장소의 디렉터리 구조로 분할하면 서드 파티 도구의 데이터 사용 효율성을 향상할 수도 있습니다.

PARTITION BY 복사 옵션에서는 언로드 작업이 지정된 스테이지로 언로드된 별도의 파일로 테이블 행을 분할하는 식을 사용할 수 있습니다.

COPY 명령을 사용한 데이터 언로드 작업

데이터 언로드와 관련된 작업에 대한 자세한 내용은 다음을 참조하십시오.