概览
Datastream 中的数据流可以回填历史数据,并将正在进行的更改流式传输到目标位置。在创建数据流的过程中,您配置了有关数据流的源数据库的信息。
如果您选中回填历史数据复选框,则 Datastream 会将所有现有数据以及对数据的更改从来源流式传输到目标位置。
如果您没有选中此复选框,Datastream 将仅流式传输数据的更改。如需让 DataStream 将所有现有数据的快照从来源流式传输到目标位置,您必须为包含此数据的对象启动回填。这些对象的格式包括数据库架构、表和列。
为对象启动回填的另一个原因是来源与目标位置之间的数据不同步。例如,用户可以意外删除目标位置中的数据,而这些数据现在丢失。在这种情况下,为对象启动回填可用作“重置机制”,因为所有数据都一次性流式传输到目标位置。因此,数据会在来源和目标位置之间同步。
为某个对象启动回填后,您可以停止对该对象的回填。在上面的示例中,用户修改了数据库架构,导致架构或数据损坏。您不希望将此架构或数据流式传输到目标位置,因此需停止对象的回填。
您还可以停止为对象回填数据,以实现负载均衡。Datastream 可以并行运行多个回填。这可能会给来源带来额外的负担。如果负载过大,请停止这些对象的回填,然后逐个启动回填。
对象状态
为对象启动和停止回填的生命周期中的各种状态包括:
- 无状态(在界面中表示为
-
):接收此状态的对象的原因包括:- 直播尚未开始。
- 未选中回填历史数据复选框(因此回填被定义为手动)。
- 系统明确地将对象从自动回填中排除。
数据流被配置为包含将来的表。如果出现这种情况,则在将新表添加到来源时,系统不会为它们创建自动回填任务(因为新表通常没有任何要回填的“历史数据”)。
如需了解详情,请参阅配置有关数据流的来源数据库的信息。
Pending:
,对象尚未启动回填。Active:
,对象正在进行回填。Completed:
,对象已完成回填。Stopped:
,对象已停止回填。如果再次为对象启动回填,则 Datastream 会将与该对象关联的所有现有数据从来源流式传输到目标位置。Failed:
,对象回填失败,必须再次启动回填。
启动回填
转到 Google Cloud Console 中的数据流页面。
点击包含要为其启动回填的对象的数据流。
点击对象标签页。
选中要启动回填的每个对象对应的复选框。
点击启动回填。
如果您只选择了一个对象,请在对话框中点击启动对象回填。否则,如果您选择了多个对象,请点击启动对象回填。
Datastream 将开始为您选择的对象回填,并且每个对象的状态将从
Pending
更改为Active
再更改为Completed
。如果对象的状态为Completed
,则表示 Datastream 已读取该对象的所有数据,但数据可能仍在加载到目标位置。
停止回填
转到 Google Cloud Console 中的数据流页面。
点击包含要为其停止回填的对象的数据流。
点击对象标签页。
选中要为其停止回填的每个对象对应的复选框。
点击 STOP BACKFILL。
如果您只选择了一个对象,请在对话框中点击停止对象回填。否则,如果您选择了多个对象,请点击停止对象回填。
Datastream 将为您选择的对象停止回填,并且每个对象的状态将更改为
Stopped
。当对象处于此状态时,则表示该对象已停止回填。如果再次为对象启动回填,则 Datastream 会将与该对象关联的所有现有数据从来源流式传输到目标位置。
后续步骤
- 如需详细了解数据流,请参阅数据流生命周期。
- 如需了解如何查看数据流的相关信息,请参阅查看数据流。
- 如需了解如何修改数据流,请参阅修改数据流。
- 如需了解如何监控数据流,请参阅监控数据流。
- 如需了解如何恢复失败的直播,请参阅恢复直播。