수집 스케줄러¶
모든 Snowflake 커넥터에 사용되는 공통 요소와 기능을 제공하는 라이브러리입니다.
요구 사항¶
스케줄러의 기본 구현에는 커넥터 설치 중에 다음 파일을 실행해야 합니다.
core.sql
(참조: 코어 SQL 참조)configuration/app_config.sql
(참조: 앱 구성 SQL 참조)configuration/connector_configuration.sql
(참조: 커넥터 구성 참조)scheduler/scheduler.sql
(참조: 수집 스케줄러 참조)
개요¶
스케줄러 작업은 구성에 따라 적절한 시점에 리소스 수집을 트리거하는 역할을 합니다. 이 작업은 SDK 자체에서 시작되지 않으며, 예를 들어 구성 마무리 단계에서 생성 및 재개해야 합니다. 이를 수행하기 위한 두 가지 방법은, SQL에서 PUBLIC.CREATE_SCHEDULER() 프로시저를 사용하거나 Java 코드에서 직접 SchedulerCreator#createScheduler() 를 호출하는 것입니다.
기본 구현은 connector_configuration
에 제공된 식을 사용하여 global_schedule
키 아래에 스케줄러 작업을 생성합니다. 기본 스케줄러 작업이 실행되면 구성에서 ScheduleType 이 GLOBAL
로 설정된 활성화된 모든 리소스 수집 정의와 해당 수집 프로세스를 검색합니다. 그러면 각 프로세스가 IN_PROGRESS
상태로 업데이트됩니다. 수집 반복이 완료되면 이 상태는 다시 SCHEDULED
로 업데이트됩니다. 그런 다음 각각에 대해 OnIngestionScheduledCallback 이 실행됩니다. 이 콜백은 완전하게 사용자 지정할 수 있으며 SQL 또는 Java를 사용하여 구현할 수 있습니다. 이 콜백의 기본 구현은 아무것도 수행하지 않지만, SDK는 Task Reactor 모듈을 사용하여 이 콜백의 구현도 제공합니다. 이 구현은 데이터베이스에서 리소스에 대한 데이터를 검색하고 이 데이터가 포함된 작업 항목을 Task Reactor 큐에 넣습니다.
작업 항목이 완료되면 또 다른 콜백인 OnIngestionFinishedCallback 이 실행됩니다. 이 콜백은 수집이 완료되면 프로세스 상태를 SCHEDULED
로 다시 변경합니다.