데이터 로드 준비하기¶
이 항목에서는 지원되는 데이터 파일 형식 및 데이터 압축에 대한 개요를 제공합니다. 데이터 구조에 따라 데이터를 로드하기 전에 준비 해야 할 수도 있습니다.
이 항목의 내용:
지원되는 데이터 타입¶
Snowflake에서 지원되는 데이터 타입에 대한 설명은 SQL 데이터 타입 참조 을 참조하십시오.
데이터 파일 압축¶
대용량 데이터 세트를 로드할 때는 데이터 파일을 압축하는 것이 좋습니다. 각 데이터 타입에서 지원되는 압축 알고리즘은 CREATE FILE FORMAT 을 참조하십시오.
압축된 데이터를 로드할 때 Snowflake는 데이터 파일의 파일 및 코덱 압축 방법을 자동으로 결정합니다. COMPRESSION 파일 형식 옵션은 데이터 파일이 스테이지에서 이미 압축된 방식을 설명합니다. 다음 방법 중 1개를 사용하여 COMPRESSION 옵션을 설정합니다.
COPY INTO <테이블> 문에 직접 지정된 파일 형식 옵션으로 설정.
명명된 파일 형식 또는 스테이지 오브젝트에 대해 지정된 파일 형식 옵션으로 설정. 그러면 COPY INTO <테이블> 문에서 명명된 파일 형식/스테이지 오브젝트를 참조할 수 있습니다.
지원되는 파일 형식¶
지원되는 파일 형식은 다음과 같습니다.
정형/반정형
타입
참고
정형
구분 기호로 분리됨(CSV, TSV 등)
모든 유효한 1바이트 구분 기호가 지원됩니다. 기본값은 쉼표(즉, CSV)입니다.
반정형
JSON
Avro
압축된 Avro 파일의 자동 감지 및 처리를 제공합니다.
ORC
압축된 ORC 파일의 자동 감지 및 처리가 포함됩니다.
Parquet
압축된 Parquet 파일의 자동 감지 및 처리가 포함됩니다. . . 현재 Snowflake는 Parquet 작성기 v1을 사용하여 생성된 Parquet 파일의 스키마를 지원합니다. 작성기 v2를 사용하여 생성된 파일은 지원되지 않습니다.
XML
미리 보기 기능으로 지원됩니다.
파일 형식 옵션은 파일에 포함된 데이터 타입과 함께 데이터 타입에 대한 기타 관련 특성을 지정합니다. 지정할 수 있는 파일 형식 옵션은 로드할 데이터 타입에 따라 다릅니다. Snowflake는 전체 파일 형식 옵션 기본값을 제공합니다.
반정형 파일 형식¶
Snowflake는 기본적으로 반정형 데이터를 지원하므로 미리 스키마를 정의하지 않고도 반정형 데이터를 관계형 테이블에 로드할 수 있습니다. Snowflake는 반정형 데이터를 VARIANT 타입의 열에 직접 로드할 수 있도록 지원합니다(자세한 내용은 반정형 데이터 타입 참조).
현재 지원되는 반정형 데이터 타입으로는 JSON, Avro, ORC, Parquet 또는 XML 등이 있습니다.
JSON, Avro, ORC 및 Parquet 데이터의 경우, 각 최상위 전체 오브젝트는 테이블에서 별도의 행으로 로드됩니다. 각 오브젝트에는 줄 바꿈 문자와 공백을 포함할 수 있지만, 오브젝트가 유효해야 합니다.
XML 데이터의 경우, 각 최상위 요소는 테이블에서 별도의 행으로 로드됩니다. 요소는 이름이 동일한 시작 및 닫기 태그로 식별됩니다.
일반적으로 반정형 데이터를 저장하기 위해 사용되는 테이블은 단일 VARIANT 열로 구성됩니다. 데이터가 로드되면 정형 데이터와 유사한 데이터를 쿼리할 수 있습니다. 배열에서 값 및 오브젝트 추출 등의 다른 작업을 수행할 수도 있습니다. 자세한 내용은 FLATTEN 테이블 함수를 참조하십시오.
참고
반정형 데이터는 여러 열이 있는 테이블에 로드할 수 있지만, 반정형 데이터는 정형 파일(예: CSV 파일)의 필드로 저장해야 합니다. 그러면 데이터를 테이블의 지정된 열에 로드할 수 있습니다.
명명된 파일 형식¶
Snowflake는 필요한 모든 형식 정보를 캡슐화하는 데이터베이스 오브젝트인 명명된 파일 형식을 생성할 수 있도록 지원합니다. 그러면 명명된 파일 형식을 개별 파일 형식 옵션을 지정할 수 있는 동일한 모든 위치에서 입력으로 사용할 수 있으므로, 유사한 형식의 데이터에 대한 데이터 로딩 프로세스를 간소화할 수 있습니다.
명명된 파일 형식은 선택 사항이지만, 유사한 형식의 데이터를 정기적으로 로드할 계획일 때는 이 파일 형식을 사용하는 것이 좋습니다.
명명된 파일 형식 만들기¶
명명된 파일 형식은 다음과 같이 웹 인터페이스 또는 SQL을 사용하여 생성할 수 있습니다.
- Snowsight:
Data » Databases 를 선택합니다.
데이터베이스를 찾고 파일 형식을 추가하려는 스키마를 선택합니다.
Create » File Format 를 선택합니다.
SQL 문을 완성하고 Create File Format 을 선택합니다.
- Classic Console:
- SQL:
모든 파일 형식 옵션 및 기본값에 대한 설명은 CREATE FILE FORMAT 를 참조하십시오.
기본 파일 형식 옵션 재정의하기¶
다음 위치에서 스테이징된 데이터에 대한 파일 형식 설정을 정의(즉, 기본 설정 재정의)할 수 있습니다.
- 테이블 정의:
FILE_FORMAT 매개 변수를 사용하여 옵션을 명시적으로 설정합니다. 자세한 내용은 CREATE TABLE 섹션을 참조하십시오.
- 명명된 스테이지 정의:
FILE_FORMAT 매개 변수를 사용하여 옵션을 명시적으로 설정합니다. 그러면 COPY INTO TABLE 문에서 스테이지가 참조됩니다. 자세한 내용은 CREATE STAGE 섹션을 참조하십시오.
- 데이터를 로드할 때 COPY INTO TABLE 문에서 직접:
옵션을 별도로 명시적으로 설정합니다. 자세한 내용은 COPY INTO <테이블> 섹션을 참조하십시오.
파일 형식 옵션이 여러 위치에 지정된 경우 로드 작업에서는 다음 우선 순위에 따라 옵션이 적용됩니다.
COPYINTOTABLE 문.
스테이지 정의.
테이블 정의.
참고
여러 위치에 설정된 파일 형식 옵션은 누적되지 않습니다. 모든 옵션이 한 곳에 설정되면 우선 순위가 낮은 모든 옵션(동일하거나 다른 옵션)보다 우선 적용됩니다.
지원되는 복사 옵션¶
복사 옵션은 오류 처리, 최대 데이터 크기 등과 관련된 데이터 로드 동작을 결정합니다.
모든 복사 옵션 및 기본값에 대한 설명은 COPY INTO <테이블> 를 참조하십시오.
기본 복사 옵션 재정의하기¶
다음 위치에서 원하는 로드 동작을 지정(즉, 기본 설정 재정의)할 수 있습니다.
- 테이블 정의:
STAGE_COPY_OPTIONS 매개 변수를 사용하여 옵션을 명시적으로 설정합니다. 자세한 내용은 CREATE TABLE 섹션을 참조하십시오.
- 명명된 스테이지 정의:
COPY_OPTIONS 매개 변수를 사용하여 옵션을 명시적으로 설정합니다. 그러면 COPY INTO TABLE 문에서 스테이지가 참조됩니다. 자세한 내용은 CREATE STAGE 섹션을 참조하십시오.
- 데이터를 로드할 때 COPY INTO TABLE 문에서 직접:
옵션을 별도로 명시적으로 설정합니다. 자세한 내용은 COPY INTO <테이블> 섹션을 참조하십시오.
복사 옵션이 여러 위치에 지정된 경우 로드 작업에서는 다음 우선 순위에 따라 옵션이 적용됩니다.
COPYINTOTABLE 문.
스테이지 정의.
테이블 정의.
참고
여러 위치에 설정된 복사 옵션은 누적됩니다. 한 위치에 설정된 개별 옵션은 우선 순위가 낮은 동일한 옵션에 우선하여 적용됩니다.