데이터 언로드 개요

데이터 로딩과 유사하게, 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 명령을 사용한 데이터 언로드 작업

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