首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Google云调度程序运行BQ命令

使用Google云调度程序运行BQ命令
EN

Stack Overflow用户
提问于 2022-10-25 05:28:18
回答 3查看 78关注 0票数 0

我想每天在协调世界时00:00运行bq命令一次。我可以使用Google调度程序来调度这个命令吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-10-26 12:47:45

正如@Daniel所提到的,没有使用云调度程序执行调度查询的直接方法,但是可以考虑按计划运行查询的选项。

  1. 直接使用预定查询在BQ中 因为您的源是GCS,所以您可以将数据从GCS加载到BQ,然后执行像前面提到的这里这样的调度查询。
  2. 使用计划云函数运行查询
  3. 使用数据传输调度

您还可以尝试@Graham在这个博客中提到的内容,它需要一个将云调度器、云源存储库和云构建相结合的体系结构。

票数 1
EN

Stack Overflow用户

发布于 2022-10-25 11:04:28

您将无法使用Cloud直接完成此操作,您需要一个中间层(如云函数)来执行命令。或者,您可以根据负载作业的要求,尝试安排数据传输。

以下是文档中的一个示例:

转移

根据您希望根据日期分割表的更新,以下列方式尝试预定的查询。

  1. 按照描述的这里,在GCS中创建指向所需路径的外部表
  2. 定义查询时,我建议使用列名和适当的转换来定义查询。
代码语言:javascript
复制
SELECT *
FROM myproject.dataset_id.external_table_name
-- INCLUDE FILTERING ON _FILE_NAME IF NEEDED LIKE FOLLOWING:
-- WHERE _FILE_NAME LIKE SOME_VALUE
  1. 在表名中使用Run_Date参数创建调度查询,如new_table_{run_date}
票数 1
EN

Stack Overflow用户

发布于 2022-10-25 13:36:14

假设每天早上7点之前都有一个文件被加载到Cloud中,那么您可能会考虑一种更具弹性的设计:当在CS中创建文件时,创建一个开始加载它的进程的通知。这是一个更好的设计,它将更早地将信息输入BigQuery,即使文件创建延迟,它也将继续工作。

在Cloud中创建文件时,在PubSub:https://cloud.google.com/storage/docs/pubsub-notifications中获取一条消息

然后,调用一个云函数,它将执行bq命令。

顺便说一句,如果您有许多文件,甚至有些依赖项,请考虑使用Composer作为协调器,以控制其复杂性。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74189449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档