수집 스케줄러

모든 Snowflake 커넥터에 사용되는 공통 요소와 기능을 제공하는 라이브러리입니다.

요구 사항

스케줄러의 기본 구현에는 커넥터 설치 중에 다음 파일을 실행해야 합니다.

개요

스케줄러 작업은 구성에 따라 적절한 시점에 리소스 수집을 트리거하는 역할을 합니다. 이 작업은 SDK 자체에서 시작되지 않으며, 예를 들어 구성 마무리 단계에서 생성 및 재개해야 합니다. 이를 수행하기 위한 두 가지 방법은, SQL에서 PUBLIC.CREATE_SCHEDULER() 프로시저를 사용하거나 Java 코드에서 직접 SchedulerCreator#createScheduler() 를 호출하는 것입니다.

기본 구현은 connector_configuration 에 제공된 식을 사용하여 global_schedule 키 아래에 스케줄러 작업을 생성합니다. 기본 스케줄러 작업이 실행되면 구성에서 ScheduleTypeGLOBAL 로 설정된 활성화된 모든 리소스 수집 정의와 해당 수집 프로세스를 검색합니다. 그러면 각 프로세스가 IN_PROGRESS 상태로 업데이트됩니다. 수집 반복이 완료되면 이 상태는 다시 SCHEDULED 로 업데이트됩니다. 그런 다음 각각에 대해 OnIngestionScheduledCallback 이 실행됩니다. 이 콜백은 완전하게 사용자 지정할 수 있으며 SQL 또는 Java를 사용하여 구현할 수 있습니다. 이 콜백의 기본 구현은 아무것도 수행하지 않지만, SDK는 Task Reactor 모듈을 사용하여 이 콜백의 구현도 제공합니다. 이 구현은 데이터베이스에서 리소스에 대한 데이터를 검색하고 이 데이터가 포함된 작업 항목을 Task Reactor 큐에 넣습니다.

작업 항목이 완료되면 또 다른 콜백인 OnIngestionFinishedCallback 이 실행됩니다. 이 콜백은 수집이 완료되면 프로세스 상태를 SCHEDULED 로 다시 변경합니다.