管理数据流对象的回填

概览

Datastream 中的数据流可以回填历史数据,并将正在进行的更改流式传输到目标位置。在创建数据流的过程中,您为数据流配置了源数据库的相关信息

如果您选中了回填历史数据复选框,则 Datastream 会将所有现有数据(数据更改)从来源流式传输到目标位置。

如果您没有选中此复选框,Datastream 将仅流式传输对数据的更改。如需让 DataStream 将所有现有数据的快照从来源流式传输到目标位置,您必须为包含此数据的对象启动回填。这些对象的格式包括数据库架构、表和列。

为对象启动回填的另一个原因是来源与目标位置之间的数据不同步。例如,用户可以意外删除目标位置中的数据,而这些数据现在丢失。在这种情况下,为对象启动回填可用作“重置机制”,因为所有数据都一次性流式传输到目标位置。因此,数据会在来源和目标位置之间同步。

启动对象回填后,您可以停止对其回填。在上面的示例中,用户修改了数据库架构,而架构或数据被损坏了。您不希望将此架构或数据流式传输到目标位置,因此需停止对象的回填。

您还可以停止对象的回填,以实现负载均衡。Datastream 可以并行运行多个回填。这可能会给来源带来额外的负担。如果负载较大,请停止对象的回填,然后逐一为对象启动回填。

对象状态

在启动和停止对象回填的生命周期内,各种状态包括:

  • 无状态(在界面中表示为 -):接收此状态的对象的原因包括:
    • 直播尚未开始。
    • 未选中回填历史数据复选框(因此回填被定义为手动)。
    • 系统明确地将对象从自动回填中排除。
    • 数据流被配置为包含将来的表。如果出现这种情况,则在将新表添加到来源时,系统不会为它们创建自动回填任务(因为新表通常没有任何要回填的“历史数据”)。

      如需了解详情,请参阅配置有关数据流的来源数据库的信息

  • Pending:,对象尚未启动回填。
  • Active:,对象正在进行回填。
  • Completed:,对象已完成回填。
  • Stopped:,对象已停止回填。如果再次为对象启动回填,则 Datastream 会将与该对象关联的所有现有数据从来源流式传输到目标位置。
  • Failed:,对象回填失败,必须再次启动回填。

启动回填

  1. 转到 Google Cloud Console 中的数据流页面。

    转到“数据流”页面

  2. 点击包含要为其启动回填的对象的数据流。

  3. 点击对象标签页。

  4. 选中要为其启动回填的每个对象对应的复选框。

  5. 点击启动回填

  6. 如果您只选择了一个对象,请在对话框中点击启动对象回填。否则,如果您选择了多个对象,请点击启动对象回填

    Datastream 将开始回填您选择的对象,并且每个对象的状态将从 Pending 更改为 ActiveCompleted。当对象的状态为 Completed 时,表示该对象的回填已完成。

停止回填

  1. 转到 Google Cloud Console 中的数据流页面。

    转到“数据流”页面

  2. 点击包含要为其停止回填的对象的数据流。

  3. 点击对象标签页。

  4. 选中要为其停止回填的每个对象对应的复选框。

  5. 点击停止回填

  6. 如果您只选择了一个对象,请在对话框中点击停止对象回填。否则,如果您选择了多个对象,请点击停止对象回填

    Datastream 将为您选择的对象停止回填,并且每个对象的状态将更改为 Stopped

    当对象处于此状态时,则表示该对象已停止回填。如果再次为对象启动回填,则 Datastream 会将与该对象关联的所有现有数据从来源流式传输到目标位置。