Google 数据流 SQL |创建分支 |错误处理

Google Dataflow SQL | Creating Branches | Error Handling

尝试使用 Dataflow SQL 进行流摄取:

我们有一个 Pubsub 主题(来源)和 BigQuery Table(接收器)。

要实现这一目标,我们需要执行以下步骤:

  1. 来自 BigQuery UI,手动添加主题架构。

    问题:我们可以使用命令行选项自动执行此过程吗?

  2. 为转换编写 SQL 并使用 gcloud dataflow query 命令执行(帮助我们进行动态查询和自动化)。

    问题:假设我们在 Pubsub 消息中缺少密钥,并且管道将在堆栈驱动程序中将这些消息标记为错误。 我们能否添加一些功能,例如如果模式验证失败则移动到 table y 否则 table x?比如,如果我们得到消息类型 y move of table y else table x?

您可以使用 gcloud 向主题添加架构。起初,这实际上是唯一的方法:https://cloud.google.com/dataflow/docs/guides/sql/data-sources-destinations#gcloud

用于保存无法解析为 SQL 行的消息,该功能通常称为“死信队列”。它在用于 Pubsub 的 Beam SQL DDL 中可用,但在通过 BigQuery UI 使用数据流 SQL 时尚不可用。参见 https://beam.apache.org/documentation/dsls/sql/extensions/create-external-table/#pubsub