Pub/Sub csv 数据到 Dataflow 到 BigQuery

Pub/Sub csv data to Dataflow to BigQuery

我的管道是 IoTCore -> Pub/Sub -> 数据流 -> BigQuery。最初我得到的数据是 Json 格式并且管道工作正常。现在我需要转向 csv,问题是我使用的 Google 定义的数据流模板使用 Json 输入而不是 csv。有没有一种简单的方法可以通过数据流将 csv 数据从 pub/sub 传输到 bigquery。该模板可能会更改,但它是在我从未使用过的 Java 中实现的,因此需要很长时间才能实现。我还考虑过在 python 中实现整个自定义模板,但这会花费太长时间。 这是 google 提供的模板的 link: https://github.com/GoogleCloudPlatform/DataflowTemplates/blob/master/src/main/java/com/google/cloud/teleport/templates/PubSubToBigQuery.java

示例:目前我的 pub/sub 消息是 JSON 并且这些消息正常工作

"{"Id":"123","Temperature":"50","Charge":"90"}"

但我需要将其更改为逗号分隔值

"123,50,90"

很简单:什么都不做!!如果您查看 this line,您会发现使用的消息类型是 PubSub 消息 JSON,而不是您在 JSON.

中的内容

所以,为了防止任何问题(查询和插入),写另一个 table 它应该工作得很好!

能否请您分享您现有的 python 代码,您正在解析 JSON 格式数据和新旧数据示例,以便对其进行相应的自定义。

另外可以参考Python code这里,它对PCollection进行了字数转换逻辑,希望能给你一些参考,让你根据需要定制你的代码。