3단계. 데이터 파일 스테이징

Snowflake 스테이지는 테이블에서 데이터를 로딩 및 언로딩하는 데 사용하는 클라우드 저장소의 위치입니다. 스테이지를 사용하면 테이블에 데이터를 로딩하고 테이블에서 데이터를 언로딩할 수 있습니다. Snowflake는 다음을 지원합니다.

  • 내부 스테이지 — Snowflake 내에서 데이터 파일을 내부적으로 저장하는 데 사용됩니다. Snowflake의 각 사용자와 테이블은 기본적으로 데이터 파일을 스테이징하기 위한 내부 스테이지를 가져옵니다.

  • 외부 스테이지 — Amazon S3, Google Cloud Storage 또는 Microsoft Azure 외부에 데이터 파일을 저장하는 데 사용됩니다. 데이터가 이러한 클라우드 저장소 서비스에 이미 저장되어 있는 경우 외부 스테이지를 사용하여 Snowflake 테이블에 데이터를 로딩할 수 있습니다.

이 자습서에서는 이전에 만든 emp_basic 테이블의 내부 스테이지에 (전제 조건 에서 다운로드한) 샘플 데이터 파일을 업로드합니다. PUT 명령을 사용하여 샘플 데이터 파일을 그 스테이지에 업로드합니다.

이 항목의 내용:

샘플 데이터 파일 스테이징하기

SnowSQL 에서 PUT 을 실행하여 생성한 emp_basic 테이블용으로 제공된 테이블 스테이지로 로컬 데이터 파일을 업로드합니다.

put file://<file-path>[/\]employees0*.csv @sf_tuts.public.%emp_basic;
Copy

예:

  • Linux 또는 macOS

    PUT file:///tmp/employees0*.csv @sf_tuts.public.%emp_basic;
    
    Copy
  • Windows

    PUT file://C:\temp\employees0*.csv @sf_tuts.public.%emp_basic;
    
    Copy

명령을 좀 더 자세히 살펴보겠습니다.

  • file://<file-path>[/\]employees0*.csv 는 스테이징할 로컬 머신의 파일 이름 및 전체 디렉터리 경로를 지정합니다. 파일 시스템 와일드카드가 허용된다는 점에 유의하십시오.

  • @<네임스페이스>.%<테이블_이름> 은 지정된 테이블에 스테이지가 사용됨을 나타내고, 이 경우에는 emp_basic 테이블입니다.

이 명령은 스테이징된 파일을 보여주는 다음 결과를 반환합니다.

+-----------------+--------------------+-------------+-------------+--------------------+--------------------+----------+---------+
| source          | target             | source_size | target_size | source_compression | target_compression | status   | message |
|-----------------+--------------------+-------------+-------------+--------------------+--------------------+----------+---------|
| employees01.csv | employees01.csv.gz |         360 |         287 | NONE               | GZIP               | UPLOADED |         |
| employees02.csv | employees02.csv.gz |         355 |         274 | NONE               | GZIP               | UPLOADED |         |
| employees03.csv | employees03.csv.gz |         397 |         295 | NONE               | GZIP               | UPLOADED |         |
| employees04.csv | employees04.csv.gz |         366 |         288 | NONE               | GZIP               | UPLOADED |         |
| employees05.csv | employees05.csv.gz |         394 |         299 | NONE               | GZIP               | UPLOADED |         |
+-----------------+--------------------+-------------+-------------+--------------------+--------------------+----------+---------+
Copy

TARGET_COMPRESSION 열에 표시된 것과 같이 PUT 명령은 gzip 을 사용하여 기본적으로 파일을 압축합니다.

스테이징된 파일 나열(선택 사항)

LIST 명령을 사용하여 스테이징된 파일을 나열할 수 있습니다.

LIST @sf_tuts.public.%emp_basic;
Copy

다음은 예시 결과입니다.

+--------------------+------+----------------------------------+------------------------------+
| name               | size | md5                              | last_modified                |
|--------------------+------+----------------------------------+------------------------------|
| employees01.csv.gz |  288 | a851f2cc56138b0cd16cb603a97e74b1 | Tue, 9 Jan 2018 15:31:44 GMT |
| employees02.csv.gz |  288 | 125f5645ea500b0fde0cdd5f54029db9 | Tue, 9 Jan 2018 15:31:44 GMT |
| employees03.csv.gz |  304 | eafee33d3e62f079a054260503ddb921 | Tue, 9 Jan 2018 15:31:45 GMT |
| employees04.csv.gz |  304 | 9984ab077684fbcec93ae37479fa2f4d | Tue, 9 Jan 2018 15:31:44 GMT |
| employees05.csv.gz |  304 | 8ad4dc63a095332e158786cb6e8532d0 | Tue, 9 Jan 2018 15:31:44 GMT |
+--------------------+------+----------------------------------+------------------------------+
Copy

다음 항목: 4단계. 데이터를 대상 테이블로 복사