从数据流流式传输 pub/sub 到 BigQuery 的首选数据格式是什么?

What is the preferred data format for streaming pub/sub from dataflow to BigQuery?

我们的流程目前有点笨拙,我们正在从数据库中获取批处理的 CSV 输出,这些输出被转换为 json 并流式传输到 pub/sub。

这很麻烦,因为 json 中的每个元素都是 STRING 格式,当我们尝试写入 bigquery 时它会失败,除非 Java 中有类型转换。

是否有任何我们可以用于小批量的首选类型化平面文件格式,以便在我们使用 pub/sub 传输时,我们将在记录级别保留类型信息?

取决于您的管道设置的准确程度。

一般来说,PubsubIO有几种方法可以read/write发消息:

Avros 和 Protos 可以帮助您简化 Pubsub 的 serialization/deserialization 步骤,以避免将所有内容都放入字符串中。

但是,正如 Yurci 提到的,您仍然需要将从 Pubsub 消息到 TableRows 的有效负载转换为 write them to BigQuery