从 Apache Kafka 到 Google Cloud Pub/Sub 的数据导入示例

在这篇博文中,我们提供了一个示例,该示例创建了一个管道,用于从一个或多个主题中读取数据 Apache Kafka 并将数据写入 Google Pub/Sub 中的主题。该示例提供了代码示例来实现简单而强大的管道,并提供了一个开箱即用的解决方案,您可以直接“即插即用”

此端到端示例包含在 Apache Beam 2.27 版 中,可以从 这里 下载。

我们希望您会发现此示例对设置 Kafka 和 Pub/Sub 之间的数据管道很有用。

示例规范

支持的数据格式

支持的输入源配置

  • 单个或多个 Apache Kafka bootstrap 服务器
  • 通过纯文本或 SSL 连接进行 Apache Kafka SASL/SCRAM 身份验证
  • 秘密保管库服务 HashiCorp Vault

支持的目的地配置

  • 单个 Google Pub/Sub 主题

在简单的情况下,该示例将创建一个 Apache Beam 管道,该管道将从具有源主题的源 Kafka 服务器读取消息,并将文本消息流式传输到指定的 Pub/Sub 目标主题。其他场景可能需要 Kafka SASL/SCRAM 身份验证,可以通过纯文本或 SSL 加密连接执行。该示例支持使用单个 Kafka 用户帐户在提供的源 Kafka 服务器和主题中进行身份验证。为了支持通过 SSL 进行 SASL 身份验证,该示例将需要 SSL 证书位置以及对具有 Kafka 用户名和密码的秘密保管库服务的访问权限,目前支持 HashiCorp Vault。

我在哪里可以运行此示例?

有两种方法可以执行管道。

  1. 本地。这种方法有很多选项 - 直接从您的 IntelliJ 运行,或创建 .jar 文件并在终端运行它,或者使用您最喜欢的运行 Beam 管道的方法。
  2. Google Cloud 中使用 Google Cloud Dataflow
    • 使用 gcloud 命令行工具,您可以从此 Beam 示例创建一个 灵活模板,并在 Google Cloud Platform 中执行它。这需要对示例进行相应的修改以将其转换为模板。
    • 此示例作为 灵活模板版本 存在于 Google Cloud Dataflow 模板管道 存储库中,并且可以在没有任何额外代码修改的情况下运行。

下一步

试用此 **Beam 端到端示例**。如果您是 Beam 的新手,我们希望此示例能帮助您更好地了解管道的工作原理和外观。如果您已经在使用 Beam,我们希望其中的某些代码示例对您的用例有所帮助。

如果您遇到任何问题,请 告知我们