Database design 用于解析异步交付的文件的Google云数据处理选项

Database design 用于解析异步交付的文件的Google云数据处理选项,database-design,google-cloud-platform,architecture,google-bigquery,data-processing,Database Design,Google Cloud Platform,Architecture,Google Bigquery,Data Processing,我正在寻找最好的谷歌云解决方案,以流式处理和批处理文件到一个干净的数据库上的BigQuery。我可以使用数据流或云函数来实现这个结果。然而,我正在为架构/设计和为我的需求找到合适的解决方案而挣扎,因为它有一个特殊的复杂性 问题是源文件是异步传递的,但是如果我还有上一个文件,我只能解析单个文件 因此,如果一个文件的交付触发了解析机制,我需要先找到前一个文件,然后才能真正解析并将结果存储到BigQuery上。举例说明: | t | file delivery | file parsing

我正在寻找最好的谷歌云解决方案,以流式处理和批处理文件到一个干净的数据库上的BigQuery。我可以使用数据流或云函数来实现这个结果。然而,我正在为架构/设计和为我的需求找到合适的解决方案而挣扎,因为它有一个特殊的复杂性

问题是源文件是异步传递的,但是如果我还有上一个文件,我只能解析单个文件

因此,如果一个文件的交付触发了解析机制,我需要先找到前一个文件,然后才能真正解析并将结果存储到BigQuery上。举例说明:

| t | file delivery | file parsing              | comment                                                           |   |
|---|---------------|---------------------------|-------------------------------------------------------------------|---|
| 1 | date3         | date3+date2 & date4+date3 | date2 and date4 are not there yet, so I cannot parse these combos |   |
| 2 | date2         | date2+date1 & date3+date2 | date1 is not there yet, so I cannot parse this combo              |   |
| 3 | date6         | date6+date5 &             | date5 and date7 are not there yet, so I cannot parse these combos |   |
另一种解决方案是将原始文件流式传输到BigQuery中,然后定期检查是否有单独的日期,并将它们处理到一个干净的表中。然而,这意味着我不能在BigQuery表上创建触发器,因为它是多复杂的


有关于架构和/或解决方案的建议吗?

您的架构应该类似于发布/订阅、GCS存储桶、云功能和数据流

在处理当前文件之前,您可以根据需要上一个文件的用例配置发布/订阅以触发通知。此处详细记录了发布/订阅通知

这是一个非常好的帖子,可以帮助你