什么是 ETL?

ETL 是 Blackboard Learn 中提取、加载报告数据并将此类数据转换成 BBLEARN_STATS 架构数据的流程。它从 Activity_Accumulator 和各种其他 Blackboard Learn 表格中提取数据,并在 BBLEARN_STATS 架构的 ODS_XXX 表格内处理此类数据。ETL 流程每天会定期运行,让这些表格的状态保持最新。当您运行课程/系统报告时,系统会从这些 ODS_XXX 表格中提取数据。为了获取课程报告的最新数据,ETL 流程必须能按预期正常运行。

ETL_AA 和 ETL_NON_AA

在执行 ETL_REFRESHDATA 时,ETL 流程会有两个主要子流程。

  • ETL_AA - 处理 Activity_Accumulator 数据
  • ETL_NON_AA - 处理非 Activity_Accumulator 数据(如评分量规、测验等)

ETL_NON_AA 流程每天会定期运行,且通过 bb-tasks.xml 文件进行控制。默认情况下,它每小时运行一次。以下代码可以在 bb-tasks.xml 中找到。通过 Behind the Blackboard 详细了解 bb-tasks.xml

<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 是报告调度程序的一部分,默认每天仅运行一次(约在午夜)。在 Blackboard Learn 内,您可以转到系统管理员 > 系统报告 > 管理报告安排,然后更改开始时间

这不是专门针对 ETL_AA 的,但也能控制定期报告在系统内的运行时间。

手动运行 ETL

您可以在 Blackboard Learn 内手动触发 ETL_REFRESHDATA。转到系统管理员 > 系统报告 > 刷新报告数据。选择刷新活动报告数据以运行 ETL_AA 流程,或选择刷新非活动报告数据以运行 ETL_NON_AA 流程。

对 ETL 进行故障排除

如果您发现课程报告包含的不是最新数据,则可能是因为 ETL_REFRESHDATA 未正常运行。如果您是自托管客户端,则还能开始了解数据库中与 ETL/ODS 相关的查询的性能影响。

发生这些类型的问题时,通过 Behind the Blackboard 创建支持通行证,然后我们会一起对相应问题展开调查。