在 BigQuery Google Cloud 中获取我所有计划的 SQL 查询
Posted
技术标签:
【中文标题】在 BigQuery Google Cloud 中获取我所有计划的 SQL 查询【英文标题】:Get all my scheduled SQL queries in BigQuery Google Cloud 【发布时间】:2019-11-18 16:11:49 【问题描述】:我试图通过我在 BigQuery 中的计划查询的命令行 (CLI) 获取 SQL 代码。如果 Google Cloud Platform 用户界面有办法做到这一点,我也很感兴趣。
我快速浏览了这篇相关帖子,但这不是我想要的答案。
List Scheduled Queries in BigQuery提前感谢您的所有回答。
【问题讨论】:
【参考方案1】:我找到了如何使用bq
CLI 查询计划的查询。你必须依赖BigQuery Transfer API。为什么?我不知道,但这是正确的关键字。
要列出您的所有日程查询,请执行此操作(如果需要,请更改您的位置!):
bq ls --transfer_config --transfer_location=eu
# Result
name displayName dataSourceId state
--------------------------------------------------------------------------------------------- ------------- ----------------- -------
projects/763366003587/locations/europe/transferConfigs/5de1fc66-0000-20f2-bee7-089e082935bc test scheduled_query
要查看详细信息,请复制名称并使用bq show
bq show --transfer_config \
projects/763366003587/locations/europe/transferConfigs/5de1fc66-0000-20f2-bee7-089e082935bc
# Result
updateTime destinationDatasetId displayName schedule datasetRegion userId scheduleOptions dataSourceId
params
----------------------------- ---------------------- ------------- ----------------- --------------- ---------------------- -------------------------------------------------------------------------------------- ----------------- --------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
2019-11-18T20:20:22.279237Z bi_data test every day 20:19 europe -7444165337568771239 u'endTime': u'2019-11-18T21:19:36.528Z', u'startTime': u'2019-11-18T20:19:36.497Z' scheduled_query u'query': u'
SELECT * FROM `gbl-imt-homerider-basguillaueb.bi_data.device_states`', u'write_disposition': u'WRITE_TRUNCATE', u'destination_table_name_template': u'test_schedule'
您可以使用 json 格式和 jq 来获取这样的查询
bq show --format="json" --transfer_config \
projects/763366003587/locations/europe/transferConfigs/5de1fc66-0000-20f2-bee7-089e082935bc \
| jq '.params.query'
# Result
"SELECT * FROM `gbl-imt-homerider-basguillaueb.bi_data.device_states`"
如果您愿意,我可以解释一下我是如何找到这个意想不到的解决方案的,但这不是这里的主题。我认为它没有记录在案
在 GUI 上,它更容易。
转到 BigQuery(新 UI,蓝色) 点击左侧菜单中的预定查询 点击您的预定查询名称 点击屏幕顶部的配置【讨论】:
这正是我要问的!干杯纪尧姆!以上是关于在 BigQuery Google Cloud 中获取我所有计划的 SQL 查询的主要内容,如果未能解决你的问题,请参考以下文章
在 Google Cloud BigQuery 中存储句子嵌入
如何在 Google Cloud Datalab 中使用 Bigquery JSON 函数
如何在气流中配置 Google Cloud BigQuery
com.google.cloud.bigquery.BigQueryException:读取超时
本地 Google App Engine:ImportError:没有名为 google.cloud.bigquery 的模块
Python,AttributeError:模块'google.cloud.bigquery'在cx_Freeze构建后没有属性'Client'