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;
예:
Linux 또는 macOS
PUT file:///tmp/employees0*.csv @sf_tuts.public.%emp_basic;
Windows
PUT file://C:\temp\employees0*.csv @sf_tuts.public.%emp_basic;
명령을 좀 더 자세히 살펴보겠습니다.
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 | | +-----------------+--------------------+-------------+-------------+--------------------+--------------------+----------+---------+
TARGET_COMPRESSION 열에 표시된 것과 같이 PUT 명령은 gzip
을 사용하여 기본적으로 파일을 압축합니다.
스테이징된 파일 나열(선택 사항)¶
LIST 명령을 사용하여 스테이징된 파일을 나열할 수 있습니다.
LIST @sf_tuts.public.%emp_basic;
다음은 예시 결과입니다.
+--------------------+------+----------------------------------+------------------------------+ | 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 | +--------------------+------+----------------------------------+------------------------------+
다음 항목: 4단계. 데이터를 대상 테이블로 복사