카테고리:

시스템 함수 (시스템 정보)

SYSTEM$PIPE_STATUS

파이프의 현재 상태에 대한 JSON 표현을 검색합니다.

자세한 내용은 Snowpipe를 사용한 연속 로드 섹션을 참조하십시오.

구문

SYSTEM$PIPE_STATUS( '<pipe_name>' )

인자

pipe_name

현재 상태를 검색하려는 파이프입니다.

사용법 노트

  • 파이프 소유자(즉, 파이프에 대한 OWNERSHIP 권한이 있는 역할) 또는 파이프에 대한 MONITOR 권한이 있는 역할에 대한 결과만 반환합니다.

  • pipe_name 은 문자열이므로 작은따옴표로 묶어야 합니다.

    • 데이터베이스와 스키마(이름이 정규화된 경우)를 포함하여 전체 이름을 작은따옴표로 묶어야 합니다(즉, '<db>.<스키마>.<파이프_이름>').

    • 파이프 이름이 대/소문자를 구분하거나 특수 문자나 공백이 포함된 경우, 대/소문자를 처리하려면 큰따옴표가 필요합니다. 큰따옴표는 작은따옴표로 묶어야 합니다. 즉, '"<파이프_이름>"' 이어야 합니다.

출력

이 함수는 다음 이름/값 쌍을 포함하는 JSON 오브젝트를 반환합니다(현재 파이프 상태에 적용 가능한 경우).

{《executionState》:》<값>》,》oldestPendingFilePath》:》<값>》,》oldestFileTimestamp》:<값>,》pendingFileCount》:<값>,》lastPipeErrorTimestamp》:》<값>》,》lastPipeFaultTimestamp》:》<값>》,》lastIngestedTimestamp》:》<값>》,》lastIngestedFilePath》:》<값>》,》notificationChannelName》:》<값>》,》numOutstandingMessagesOnChannel》:<값>,》lastReceivedMessageTimestamp》:》<값>》,》lastForwardedMessageTimestamp》:》<값>》,》error》:<값>,》fault》:<값>,》lastPulledFromChannelTimestamp》:》<값>》,》lastForwardedFilePath》:》<값>》}

여기서:

executionState

파이프의 현재 실행 상태입니다. 값은 다음 중 하나일 수 있습니다.

  • RUNNING (즉, 모든 것이 정상으로, Snowflake는 이 파이프에 대한 파일을 적극적으로 처리하거나 처리하지 않을 수 있음)

  • STOPPED_CLONED (즉, 파이프가 데이터베이스 또는 스키마 복제본에 포함됨)

  • STOPPED_FEATURE_DISABLED

  • STOPPED_STAGE_DROPPED

  • STOPPED_FILE_FORMAT_DROPPED

  • STOPPED_NOTIFICATION_INTEGRATION_DROPPED

  • STOPPED_MISSING_PIPE

  • STOPPED_MISSING_TABLE (파이프 정의에 정의된 대상 테이블이 삭제됨)

  • STALLED_COMPILATION_ERROR

  • STALLED_INITIALIZATION_ERROR

  • STALLED_EXECUTION_ERROR

  • STALLED_INTERNAL_ERROR

  • PAUSED

  • PAUSED_BY_SNOWFLAKE_ADMIN

  • PAUSED_BY_ACCOUNT_ADMIN

oldestPendingFilePath

처리를 위해 현재 큐에 대기 중인 가장 오래된 데이터 파일의 경로입니다. 파일이 큐에 추가된 시점의 타임스탬프는 기존 oldestFileTimestamp 속성에 반환됩니다.

oldestFileTimestamp

현재 큐에 있는 데이터 파일 중 가장 빠른 타임스탬프(해당되는 경우)로, 파일이 큐에 추가될 때 타임스탬프가 설정됩니다.

pendingFileCount

파이프에서 로딩하기 위해 큐에 대기 중인 파일 수입니다.

파이프가 일시 중지된 경우에도 이 수는 증가할 수 있습니다. 파이프의 AUTO_INGEST 설정에 따라, 큐에 대기 중인 파일의 수가 다음과 같이 증가할 수 있습니다.

AUTO_INGEST = TRUE

클라우드 저장소 버킷 또는 컨테이너에 추가된 파일은 파이프에 대한 새 파일 이벤트 알림을 트리거합니다.

일시 중지된 파이프가 부실 상태가 되는 경우, pendingFileCount 수는 제한된 보존 기간보다 오래된 이벤트 알림을 무시합니다.

AUTO_INGEST = FALSE

파이프에서 로딩하기 위해 큐에 대기할 insertFiles REST 엔드포인트 트리거 파일에 대한 호출입니다.

lastPipeErrorTimestamp

마지막 실행을 위해 파이프 정의에서 COPY INTO <table> 문을 컴파일할 때 타임스탬프에서 오류가 발생했습니다.

lastPipeFaultTimestamp

내부 Snowflake 프로세스 오류가 마지막으로 감지된 타임스탬프입니다.

lastIngestedTimestamp

Snowpipe가 가장 최근 파일을 대상 테이블에 성공적으로 로딩한 시점의 타임스탬프입니다.

lastIngestedFilePath

lastIngestedTimestamp에 지정된 타임스탬프에 로딩된 파일의 경로입니다.

notificationChannelName

파이프와 연결된 Amazon SQS 큐 또는 Microsoft Azure 저장소 큐입니다.

numOutstandingMessagesOnChannel

큐에 있지만, 아직 수신되지 않은 큐의 메시지 수입니다.

lastReceivedMessageTimestamp

큐에서 받은 마지막 메시지의 타임스탬프입니다. 이 메시지는 특정 파이프에 적용되지 않을 수 있습니다(예: 메시지와 연결된 경로/접두사가 파이프 정의의 경로/접두사와 일치하지 않는 경우). 또한, 생성된 데이터 오브젝트에 의해 트리거된 메시지만 자동 수집 파이프에서 사용됩니다.

lastForwardedMessageTimestamp

파이프에 전달된 일치하는 경로/접두사가 포함된 마지막 《오브젝트 생성》 이벤트 메시지의 타임스탬프입니다.

channelErrorMessage

연결된 Google Cloud Pub/Sub 큐 또는 Microsoft Azure Event Grid 저장소 큐에서 메시지를 읽으려고 할 때 생성되는 오류 메시지입니다.

lastErrorRecordTimestamp

마지막 채널 오류 메시지의 타임스탬프입니다(즉, channelErrorMessage 값에 보고된 오류 메시지).

error

파이프가 실행을 위해 마지막으로 컴파일되었을 때 생성된 오류 메시지입니다(해당되는 경우). 권한 문제 또는 삭제된 오브젝트로 인해 필요 오브젝트(즉, 테이블, 스테이지, 파일 형식)에 액세스하는 데 문제가 발생하여 일어나는 경우가 많습니다.

fault

가장 최근의 내부 Snowflake 프로세스 오류입니다(해당되는 경우). 주로 Snowflake에서 디버깅 목적으로 사용됩니다.

lastPulledFromChannelTimestamp

Snowpipe가 Amazon Simple Queue Service(SQS) 큐, Google Pub/Sub 큐 또는 Microsoft Azure 저장소 큐에서 파이프에 대한 《오브젝트 생성》 이벤트 알림을 마지막으로 끌어온 시점의 타임스탬프입니다.

이 값은 자동 수집 Snowpipe 로딩에만 적용됩니다.

lastForwardedFilePath

파이프로 전달된 마지막 《오브젝트 생성》 이벤트 메시지에서 식별된 데이터 파일의 경로입니다.

대/소문자를 구분하지 않는 이름으로 파이프의 상태를 검색합니다.

SELECT SYSTEM$PIPE_STATUS('mydb.myschema.mypipe');

+---------------------------------------------------+
| SYSTEM$PIPE_STATUS('MYDB.MYSCHEMA.MYPIPE')        |
|---------------------------------------------------|
| {"executionState":"RUNNING","pendingFileCount":0} |
+---------------------------------------------------+

대/소문자를 구분하는 이름으로 파이프의 상태를 검색합니다.

SELECT SYSTEM$PIPE_STATUS('mydb.myschema."myPipe"');

+---------------------------------------------------+
| SYSTEM$PIPE_STATUS('MYDB.MYSCHEMA."MYPIPE"')      |
|---------------------------------------------------|
| {"executionState":"RUNNING","pendingFileCount":0} |
+---------------------------------------------------+
맨 위로 이동