카테고리:

DML 명령 - 파일 스테이징

LIST

다음 Snowflake 스테이지 중 하나에서 스테이징된(즉, 로컬 파일 시스템에서 업로드되거나 테이블에서 언로딩된) 파일의 목록을 반환합니다.

  • 명명된 내부 스테이지.

  • 명명된 외부 스테이지.

  • 지정된 테이블의 스테이지.

  • 현재 사용자의 스테이지.

LIST는 LS로 축약할 수 있습니다.

참고 항목:

REMOVE

PUT , COPY INTO <테이블>

COPY INTO <위치> , GET

구문

LIST { internalStage | externalStage } [ PATTERN = '<regex_pattern>' ]

여기서:

internalStage ::=
    @[<namespace>.]<int_stage_name>[/<path>]
  | @[<namespace>.]%<table_name>[/<path>]
  | @~[/<path>]
externalStage ::=
    @[<namespace>.]<ext_stage_name>[/<path>]

필수 매개 변수

internalStage | externalStage

데이터 파일이 스테이징되는 위치를 지정합니다.

@[namespace.]int_stage_name[/path]

파일이 지정된 명명된 내부 스테이지에 있습니다.

@[namespace.]ext_stage_name[/path]

파일이 지정된 명명된 외부 스테이지에 있습니다.

@[namespace.]%table_name[/path]

파일이 지정된 테이블의 스테이지에 있습니다.

@~[/path]

파일이 현재 사용자의 스테이지에 있습니다.

여기서:

  • namespace 는 명명된 스테이지 또는 테이블이 있는 데이터베이스 및/또는 스키마입니다. 데이터베이스와 스키마가 현재 세션 내에서 사용 중인 경우 이는 선택 사항입니다. 그렇지 않은 경우에는 필수입니다.

  • path 는 파일 세트에 대한 액세스를 제한하는 클라우드 저장소 위치에 있는 파일의 선택적 경로로, 대/소문자를 구분합니다(즉, 파일 이름이 공통 문자열로 시작함). 다른 클라우드 저장소 서비스에서는 경로를 접두사 또는 폴더 라고도 합니다.

참고

스테이지 이름 또는 경로가 공백이나 특수 문자를 포함한 경우 이를 작은따옴표로 묶어야 합니다(예: "my stage" 로 명명된 스테이지의 경우 '@"my stage"').

경로를 지정하면 LIST 명령의 범위가 제공되어 명령 실행에 필요한 시간을 줄일 수 있는 가능성이 있습니다.

선택적 매개 변수

PATTERN = 'regex_pattern'

출력에서 파일을 필터링하기 위한 정규식 패턴을 지정합니다. 이 명령은 지정된 path 의 모든 파일을 나열하고 찾은 각 파일에 정규식 패턴을 적용합니다.

사용법 노트

  • 명명된 스테이지와 달리, 테이블 및 사용자 스테이지는 일급 데이터베이스 오브젝트가 아니라, 오히려 테이블/사용자와 연결된 암시적 스테이지입니다. 따라서 이런 스테이지는 부여할 수 있는 자체적인 권한이 없습니다.

    • 항상 사용자 스테이지에서 파일을 나열할 수 있습니다(즉, 아무런 권한도 필요하지 않음).

    • 테이블 스테이지에서 파일을 나열하려면 테이블에 대한 OWNERSHIP 권한을 가진 역할을 사용해야 합니다.

출력

이 명령은 다음과 같은 열을 반환합니다.

데이터 타입

설명

이름

VARCHAR

스테이징된 파일의 이름.

크기

NUMBER

압축된 파일의 크기(바이트).

md5

VARCHAR

MD5 열은 스테이지 상태 데이터 파일의 내용 중 MD5 해시를 저장하는데, 이를 사용해 파일이 올바로 스테이징(업로드)되었는지 확인할 수 있습니다. Amazon S3 스테이지는 파일 내용 중 MD5 해시가 아닐 수 있는 S3 eTag 필드를 통해 값을 보고합니다.

마지막으로_수정한_날짜

VARCHAR

파일이 스테이지에서 마지막으로 업데이트된 타임스탬프.

mytable 테이블의 스테이지에 있는 모든 파일을 나열합니다.

LIST @%mytable;

mystage 로 명명된 스테이지의 path1 경로에 있는 모든 파일을 나열합니다.

LIST @mystage/path1;

mytable 테이블의 스테이지에서 정규식과 일치하는 파일(즉, 문자열 data_0 을 포함하는 모든 파일 이름)을 나열합니다.

LIST @%mytable PATTERN='.*data_0.*';

정규식과 일치하는 my_csv_stage 로 명명된 스테이지의 /analysis/ 경로에 있는 파일(즉, 문자열 data_0 을 포함하는 모든 파일 이름)을 나열합니다.

LIST @my_csv_stage/analysis/ PATTERN='.*data_0.*';

축약된 형식의 명령을 사용하여 현재 사용자의 스테이지에 있는 모든 파일을 나열합니다.

LS @~;
맨 위로 이동