python - Google BigQuery 从 Python 脚本执行 SQL 文件
问题描述
我有一个 python 文件,它使用 datalab.bigquery 来执行写出的 SQL 查询。但是,我将此 SQL 查询保存在同一个 GitHub 存储库中,所以我想知道是否有一种方法可以运行 github SQL 文件而无需复制和粘贴查询。
目前它看起来像这样:
import datalab
import datalab.bigquery as bq
import pandas as pd
df = bq.Query('''
SELECT
CASE
WHEN advance_date IS NULL
AND release_date IS NULL
AND resale_close_date IS NULL
THEN TRUE
...
'''_.to_dataframe()
这工作正常,但是当对 SQL 脚本进行更新时,它们不会反映在这个 python 脚本中,这会产生问题。我希望它调用保存在 Github 存储库中的 SQL 查询。有没有办法做到这一点?像 df = bq.execute(sql_file.sql).to_dataframe()。
解决方案
您可以使用包含 SQL 脚本的 Github 片段的“原始”页面并检查该页面以获取脚本。
例如,假设我想要这个脚本[1](在你的情况下它是 SQL 脚本),我单击“RAW”按钮并保存 URL。然后,您可以使用以下命令在 Python 中查看该 URL 中的内容requests
:
import requests
raw=<URL OF YOUR SQL SCRIPT>
#In my case it would be
#raw="https://raw.githubusercontent.com/GoogleCloudPlatform/python-docs-samples/master/appengine/standard/bigquery/main.py"
r=requests.get(raw).text
df=bq.Query(r).to_dataframe()
如果我理解正确,那就是你想要的:D。
推荐阅读
- npm - npm probleme 启动项目
- reactjs - React 缓存 google places api 搜索结果
- rest - 如何使用 Swagger\OpenAPI 记录 GraphQL?
- github - 在 GitHub Actions 中获取 PR 编号或分支名称
- kubernetes-helm - Helm Chart - 如何在不安装的情况下验证图表?
- reactjs - ReactJs 中国家和州的动态下拉列表
- java - 如何根据查询找到相关文档
- python - 如何避免通过再次按下按钮来重置值
- javascript - 在 JQuery Datatables 中显示不可见列后更改背景颜色
- python-3.x - 从 dict 列表中访问特定值的值列表