从 Pub/Sub 流式处理来源读取数据

借助 Cloud Data Fusion 中的 Pub/Sub 来源,您可以将实时消息流注入流式数据流水线。然后,您可以转换、扩充事件数据,并以极低的延迟将事件数据写入下游存储和分析目标位置。

准备工作

所需角色

如需获得从 Pub/Sub 流式来源读取数据所需的权限,请让您的管理员为您授予用于访问 Pub/Sub 订阅的服务帐号的Pub/Sub Editor (roles/pubsub.editor) IAM 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。

此预定义角色包含 从 Pub/Sub 流式来源读取数据所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

如需从 Pub/Sub 流式来源读取数据,您需要以下权限:

  • pubsub.snapshots.create
  • pubsub.snapshots.delete
  • pubsub.snapshots.seek
  • pubsub.subscriptions.consume
  • pubsub.topics.attachSubscription

您也可以使用自定义角色或其他预定义角色来获取这些权限。

您可以在插件属性中指定用于访问 Pub/Sub 的服务账号,并向该服务账号授予角色。如果未指定任何服务账号,请向 Managed Service for Apache Spark 服务帐号授予角色。

如需详细了解如何授予角色,请参阅 管理访问权限。

向流式数据流水线添加 Pub/Sub 来源

  1. 前往您的实例:

    1. 在 Google Cloud 控制台中,前往 Cloud Data Fusion 页面。

    2. 如需在 Cloud Data Fusion Studio 中打开实例,请点击实例,然后点击查看实例。

      转到实例

  2. 在 Cloud Data Fusion 网页界面中,点击 Studio。

  3. 选择数据流水线 - 实时 。

  4. 在来源 菜单中,选择 Pub/Sub 。Pub/Sub 流式来源节点会显示在流水线中。

  5. 在 Pub/Sub 节点上,点击属性 以配置来源。如需了解详情,请参阅 Pub/Sub 流式来源。

支持使用单个 Pub/Sub 来源且不使用 Windower 插件

Cloud Data Fusion 6.9.1 版支持使用单个 Pub/Sub 流式来源且不使用 Windower 插件的实时流水线。

  • Pub/Sub 流式来源具有内置支持,并且数据至少会被处理一次。无需启用 Spark 检查点。
  • Pub/Sub 流式来源会在每个批次的开头创建一个 Pub/Sub 快照 ,并在每个批次的末尾移除该快照。
  • 创建 Pub/Sub 快照会产生费用。 如需了解详情,请参阅 Pub/Sub 价格。
  • 您可以在 Cloud Audit Logs中监控快照创建情况。

升级具有 Pub/Sub 流式来源的流水线

Cloud Data Fusion 支持 直接应用升级 以升级在 6.9.1 或更高版本中创建的具有 Pub/Sub 流处理来源的流处理流水线。

Cloud Data Fusion 不支持升级在 6.9.0 或更低版本中具有 Pub/Sub 流式来源的数据流水线。请改为将这些流水线升级到 6.9.1:

  1. 计划升级实例时,停止向主题发布数据。
  2. 等待流水线完成已发布数据的处理。
  3. 数据处理完毕后,停止流水线。
  4. 升级实例。
  5. 复制现有流水线并更新到最新的插件。
  6. 部署流水线。
  7. 运行新流水线以读取数据。

    新版本会自动使用快照,而不是 Spark 检查点。

  8. 删除旧流水线。

后续步骤