ETLについて

ETLとは、レポートデータを抽出して変換し、BBLEARN_STATSスキーマにロードするBlackboard Learnのプロセスです。ETLはActivity_Accumulatorや様々なBlackboard Learnからデータを取得し、BBLEARN_STATSスキーマ内のODS_XXXテーブルに処理します。ETLプロセスは1日を通して周期的に実行され、テーブルを最新の状態に保ちます。コース/システムレポートを実行すると、これらの ODS_XXXテーブルからデータが取り出されます。コースレポートに最新のデータを反映させるには、ETLプロセスが予期されているように機能している必要があります。

ETL_AAおよびETL_NON_AA

ETL_REFRESHDATAが実行された場合、ETLプロセスは2つの重要なサブプロセスを担います。

  • ETL_AA - Activity_Accumulatorデータを処理します
  • ETL_NON_AA - non-Activity_Accumulatorデータを処理します (ルーブリックやアセスメントなど)

ETL_NON_AAプロセスは1日を通して周期的に実行され、bb-tasks.xmlを介して制御されます。デフォルトでは、1時間ごとに実行されます。以下のコードは、bb-tasks.xmlに記述されています。bb-tasks.xmlに関する詳しい情報はBehind the Blackboardで確認してください。

<task-entry key="bb.etl.refresh_noaa" version="60">
  <task classname="blackboard.platform.reporting.service.impl.ETLRefreshDataWithoutActivityTask">
    <property name="delay" value="3600000" />
    <property name="period" value="3600000" />
  </task>
</task-entry>

デフォルトでは、ETL_AAはレポートスケジューラの一部として真夜中ごろに1度だけ実行されます。Blackboard Learnn内で、[システム管理者] > [システムレポート] > [レポートスケジュールの管理]と移動して[開始時間]を変更することができます。

これはETL_AAに限ったことではありませんが、スケジュールされたレポートがシステム内で実行される時間も制御可能です。

手動でのETL実行

Blackboard Learn内で、ETL_REFRESHDATAを手動でトリガすることができます。[システム管理者] > [システムレポート] > [レポートデータを最新の情報に更新]に移動します。[アクティビティレポートデータの更新]を選択してETL_AAプロセスを実行するか、[非アクティビティレポートデータの更新]を選択してETL_NON_AAを実行します。

ETLの問題のトラブルシューティング

コースレポートに最新のデータが反映されていない場合、ETL_REFRESHDATAが正常に機能していない可能性があります。セルフホストクライアントを使用している場合、データベース内のETL/ODS関連のクエリから性能への影響に気づく場合もあります。

こういった種類の問題が発生した場合、Behind the Blackboardからサポートチケットを作成していただくことで、問題の調査を始めることができます。