카테고리:

데이터 파이프라인 DDL

SHOW STREAMS

액세스 권한이 있는 스트림을 나열합니다. 이 명령을 사용해 현재/지정된 데이터베이스 또는 스키마 또는 전체 계정에 대한 스트림을 나열할 수 있습니다.

출력은 데이터베이스, 스키마, 스트림 이름을 기준으로 사전순으로 정렬된 스트림 메타데이터와 속성을 반환합니다(출력 열에 대한 설명은 이 항목의 출력 참조). 제공된 필터를 사용해 결과를 필터링하려는 경우 이 점에 유의해야 합니다.

참고 항목:

CREATE STREAM , ALTER STREAM , DROP STREAM , DESCRIBE STREAM

구문

SHOW [ TERSE ] STREAMS [ LIKE '<pattern>' ]
                       [ IN { ACCOUNT | DATABASE [ <db_name> ] | [ SCHEMA ] [ <schema_name> ] } ]
                       [ STARTS WITH '<name_string>' ]
                       [ LIMIT <rows> [ FROM '<name_string>' ] ]

매개 변수

TERSE

출력 열의 서브세트만 반환합니다.

  • created_on

  • name

  • kind (전체 열 세트에서 type 열의 이름 바꾸기)

  • database_name

  • schema_name

  • tableOn (전체 열 세트에서 table_name 열의 이름 바꾸기)

LIKE 'pattern'

오브젝트 이름으로 명령 출력을 필터링합니다. 이 필터는 SQL 와일드카드 문자(%_) 지원과 함께 대/소문자를 구분하지 않는 패턴 일치를 사용합니다.

예를 들어, 다음 패턴은 같은 결과를 반환합니다.

... LIKE '%testing%' ...
... LIKE '%TESTING%' ...
IN ACCOUNT | [ DATABASE ] db_name | [ SCHEMA ] schema_name

명령의 범위를 지정하여 이 명령이 현재/지정된 데이터베이스 또는 스키마의 레코드만 나열할지, 아니면 전체 계정의 레코드를 나열할지 여부를 결정합니다.

DATABASE 또는 SCHEMA 키워드가 필요하지 않습니다. 데이터베이스 또는 스키마 이름만 지정하여 범위를 설정할 수 있습니다. 마찬가지로, 세션에 현재 사용 중인 데이터베이스가 있는 경우 데이터베이스 또는 스키마 이름이 필요하지 않습니다.

  • DATABASE 또는 SCHEMA 가 이름 없이 지정되고 세션에 현재 사용 중인 데이터베이스가 없는 경우 이 매개 변수는 출력에 아무런 영향도 주지 않습니다.

  • SCHEMA 가 이름과 함께 지정되고 세션에 현재 사용 중인 데이터베이스가 없는 경우 스키마 이름은 데이터베이스 이름으로 정규화되어야 합니다(예: testdb.testschema).

기본값: 세션에 현재 사용 중인 데이터베이스가 있는지 여부에 따라 다릅니다.

  • 데이터베이스: DATABASE 가 기본값입니다(즉, 이 명령은 데이터베이스에서 볼 권한이 있는 오브젝트를 반환함).

  • 데이터베이스 없음: ACCOUNT 가 기본값입니다(즉, 이 명령은 계정에서 볼 권한이 있는 오브젝트를 반환함).

STARTS WITH 'name_string'

오브젝트 이름의 시작 부분에 나타나는 문자열을 기반으로 명령 출력을 필터링합니다. 문자열은 작은따옴표로 묶어야 하며 대/소문자를 구분 합니다. 예를 들어, 다음은 서로 다른 결과를 반환합니다.

... STARTS WITH 'B' ...
... STARTS WITH 'b' ...
LIMIT rows [ FROM 'name_string' ]

반환되는 최대 rows 수를 제한하여 결과의 《페이지 매김》을 활성화합니다. 반환된 실제 행 수가 지정된 제한보다 적을 수 있습니다(예: 오브젝트 수가 지정된 제한보다 적음).

이 절은 사실상 결과에 대한 《커서》 역할을 하는 FROM 하위 절을 포함할 수도 있습니다. 그 덕분에 오브젝트 이름이 지정된 문자열과 일치하는 첫 번째 행 다음에 오는 행을 지정된 개수만큼 가져올 수 있습니다.

  • 문자열은 작은따옴표로 묶어야 하며 대/소문자를 구분 합니다.

  • 부분 이름이 지원되므로, 문자열이 전체 오브젝트 이름을 포함할 필요는 없습니다.

참고

FROM 을 같은 문에서 STARTS WITH 와 결합할 수 있지만, 두 가지 조건이 모두 충족되어야 하며, 그렇지 않으면 서로 상쇄되어 아무런 결과도 반환되지 않습니다. 또한, 오브젝트는 이름을 기준으로 사전순으로 반환되므로, FROMSTARTS WITH 에서 반환된 행보다 사전 값이 더 높은 행만 반환합니다.

예:

  • ... STARTS WITH 'A' LIMIT ... FROM 'B' 는 아무런 결과도 반환하지 않습니다.

  • ... STARTS WITH 'B' LIMIT ... FROM 'A' 는 아무런 결과도 반환하지 않습니다.

  • ... STARTS WITH 'A' LIMIT ... FROM 'AB' 는 결과를 반환합니다(입력 문자열과 일치하는 행이 있는 경우).

사용법 노트

  • 이 명령을 실행하기 위해 실행 중인 웨어하우스가 꼭 필요하지는 않습니다.

  • LIMIT rows 의 값은 10000 을 초과할 수 없습니다. LIMIT rows 가 생략된 경우 결과 세트의 행 수가 10,000개를 넘는 경우 이 명령을 실행하면 오류가 발생합니다.

    10,000개 이상의 레코드가 있는 결과를 보려면 LIMIT rows 를 포함하거나 Snowflake Information Schema 에서 해당 뷰를 쿼리하십시오.

  • 이 명령의 출력을 사후 처리하려면 출력을 쿼리할 수 있는 테이블로 처리하는 RESULT_SCAN 함수를 사용하면 됩니다.

출력

명령 출력은 다음 열에 스트림 속성 및 메타데이터를 제공합니다.

| created_on | name | database_name | schema_name | owner | comment | table_name | type | stale | mode | stale_after | invalid_reason |

설명

created_on

스트림이 만들어진 날짜 및 시간입니다.

name

스트림의 이름입니다.

database_name

스트림의 스키마에 대한 데이터베이스입니다.

schema_name

스트림의 스키마입니다.

owner

스트림을 소유한 역할입니다.

comment

스트림에 대한 설명입니다.

table_name

스트림에서 자신의 DML 업데이트가 추적되는 테이블입니다.

source_type

스트림의 원본 오브젝트: 테이블, 뷰, 디렉터리 테이블 또는 외부 테이블.

base_tables

뷰의 기본 테이블입니다. 이 열은 뷰의 스트림에만 적용됩니다.

type

스트림의 유형으로, 현재는 DELTA만 있습니다.

stale

stale_after 시간 이전에 스트림을 마지막으로 읽었는지 여부를 나타냅니다(아래 참조). 이것이 TRUE 인 경우 스트림이 부실할 수 있습니다. 부실한 스트림은 읽을 수 없습니다. 스트림에서 읽기를 재개하려면 스트림을 다시 만드십시오. 스트림이 부실해지는 것을 방지하려면 stale_after 이전에 스트림을 사용하십시오.

mode

스트림이 Append-only 스트림인 경우 APPEND_ONLY 를 표시합니다. . 스트림이 삽입 행에 대한 정보만 반환하는 경우 INSERT_ONLY 를 표시합니다. 현재 외부 테이블의 스트림에만 적용됩니다. . 테이블에 있는 스트림의 경우 열이 DEFAULT 를 표시합니다.

stale_after

스트림이 부실해졌거나 스트림을 사용하지 않아 부실해질 수 있는 시점을 나타내는 타임스탬프입니다. . . 원본 테이블의 보존 기간(즉, DATA_RETENTION_TIME_IN_DAYS 또는 MAX_DATA_EXTENSION_TIME_IN_DAYS 매개 변수 설정 중 더 큰 설정)을 스트림을 마지막으로 읽은 시간에 더하여 이 값을 계산합니다. . . 이 시간은 다음의 몇 가지 경우에는 부정확할 수 있습니다. . - 스트림이 부실해지도록 허용 된 시점과 기본 데이터가 실제로 삭제되는 시점 사이에 약간의 시간이 경과할 수 있습니다. 이 기간에 stale_after 는 과거의 시점이 되겠지만, 스트림에서 읽기에 성공할 수 있습니다. 이 기간이 지속되는 시간은 변경될 수 있으므로 이에 의존해서는 안 됩니다. . - 테이블 보존에 영향을 미치는 매개 변수가 증가하면 이미 부실한 스트림은 부실한 상태로 유지되겠지만, stale_after 시간은 미래 시점일 수 있습니다.

invalid_reason

스트림을 성공적으로 쿼리할 수 없는 이유입니다. 이 열은 미래의 기능을 지원합니다. 현재는 N/A 가 유일하게 반환되는 값입니다.

스트림에 대해 지정할 수 있는 속성에 대한 자세한 내용은 CREATE STREAM 을 참조하십시오.

tpch.public 스키마에서 볼 권한이 있고 이름이 line 으로 시작하는 모든 스트림을 표시합니다.

SHOW STREAMS LIKE 'line%' IN tpch.public;
맨 위로 이동