インジェスチョンスケジューラ¶
すべてのSnowflakeコネクタで使用される共通の要素と機能を提供するライブラリ。
要件¶
スケジューラのデフォルト実装では、コネクタのインストール中に次のファイルを実行する必要があります。
core.sql
(コア SQL リファレンス を参照)configuration/app_config.sql
(アプリ構成 SQL リファレンス を参照)configuration/connector_configuration.sql
(コネクタ構成リファレンス を参照)scheduler/scheduler.sql
(インジェスチョンスケジューラリファレンス を参照)
概要¶
スケジューラタスクは、構成に応じて適切なタイミングでリソースの取り込みをトリガーします。このタスクは SDK 自体によって開始されるのではなく、たとえば構成ステップの完了中に作成および再開される必要があります。これを実現するには、 SQL から PUBLIC.CREATE_SCHEDULER() と呼ばれるプロシージャを使用するか、Java コードから直接 SchedulerCreator#createScheduler() を呼び出すという2つの方法があります。
デフォルトの実装では、 global_schedule
キーの下の connector_configuration
で提供される式を使用してスケジューラタスクが作成されます。デフォルトのスケジューラタスクが実行されると、構成内の ScheduleType が GLOBAL
に設定されているすべての有効なリソース取り込み定義と、それに対応する取り込みプロセスが検索されます。その後、各プロセスは IN_PROGRESS
ステータスに更新されます。取り込みの反復処理が完了すると、このステータスは再度 SCHEDULED
に更新されます。次に、それぞれに対して OnIngestionScheduledCallback が実行されます。このコールバックは完全にカスタムで、 SQL またはJavaを使用して実装できます。このコールバックのデフォルトの実装は何も行いませんが、 SDK は タスクリアクター モジュールを使用してこのコールバックの実装も提供します。この実装では、データベースからリソースに関するデータを取得し、このデータを含むワークアイテムをタスクリアクターのキューに配置します。
ワークアイテムが終了すると、 OnIngestionFinishedCallback という別のコールバックが実行されます。このコールバックは、取り込みが完了するとプロセスの状態を SCHEDULED
に戻します。