如何解决在gcp中读写bigquery什么服务?
我正在创建一个bigquery表,我在其中联接和转换来自其他几个bigquery表的数据。这些都是用sql编写的,整个查询大约需要20分钟才能运行,并且包含多个sql脚本。在创建最终表之前,我还要创建一些中间表。
现在,我想使上面的查询更健壮并安排它,但我无法决定使用该工具。我正在考虑的替代方法。
-
将其放入数据流作业并使用Cloud Scheduler进行调度。感觉这可能是多余的,因为所有代码都在SQL中,并且来自bq-> bq。
-
创建计划的查询以加载数据。没有经验,但似乎很安静
-
创建一个使用BQ API执行所有sql的python脚本。创建一个cron作业并将其安排在GCP中运行。
关于什么是首选解决方案的任何建议?
解决方法
如果将它封装在一个脚本(甚至多个脚本)中,则可以通过BQ安排它。它将与其他选项一样处理您的查询,因此没有必要为其设置额外的服务。
您可以将其作为单个查询运行吗?
,根据我在GCP方面的经验,正如您所建议的那样,Cloud Composer和Dataflow作业都会过分杀伤力。这些产品都不是没有服务器的,并且由于实例在后台运行而可能暗示更高的经济成本。
另一方面,您可以定期(每天,每周等)创建计划的查询,并以足够大的时间窗口分隔它们,以确保按预期的顺序执行查询。从这个意义上说,最终表可以从中间表正确构建。
从我的角度来看,执行Python脚本和向发布/订阅发送通知以触发Cloud Function(建议apw-ub)都是不错的选择。
总而言之,我想最终的决定应该更多地取决于您的个人喜好。请随时使用Google云定价计算器(1)来估算每个选项的成本。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。