如何在展平嵌套字段后将数据​​从一个大查询 table 流式插入到另一个 table?

How to do streaming insert data from one bigquery table to another table after flattening the nested fields?

我有一个中间 table,它的列中包含 send_timestamp 和 JSON 数据。我正在使用数据流将数据从 pubsub 插入到这个中间 table。

现在我的用例是验证数据并将中间 table 中的嵌套 JSON 展平到我最终 Bigquery table 中特定时间戳和插入之间的相关列它。我使用了云功能,但消息总数很大,所以无法正常工作。

有人可以推荐一个解决方案吗?它需要更少的时间才能完成?

谢谢!

只需使用DML。执行这样的查询

insert into DATASET.TARGET_TABLE
select * from DATASET.tmp_table where ....

您的云函数可以 运行 此查询并退出。或者等到最后确定job结束成功。

编辑

感谢 federated table,您可以将数据读取(并且只能读取)到云端 SQL。

像这样,您可以将数据执行到 BigQuery 中并 select 只有这个与 CloudSQL 匹配的那个!