要查看旧的定时查询,可以使用 BigQuery 的查询作业历史记录和计划任务功能。
首先,使用 BigQuery 查询作业历史记录来查看已完成的查询作业。可以使用以下代码示例:
from google.cloud import bigquery
def get_query_history(project_id, dataset_id):
client = bigquery.Client(project=project_id)
# 获取查询作业历史记录
query = f"""
SELECT
job_id,
creation_time,
start_time,
end_time,
query,
total_bytes_billed
FROM
`region-us`.INFORMATION_SCHEMA.JOBS_BY_PROJECT
WHERE
project_id = '{project_id}'
AND dataset_id = '{dataset_id}'
ORDER BY
creation_time DESC
"""
# 执行查询
query_job = client.query(query)
# 返回查询结果
return query_job.result()
# 指定项目和数据集
project_id = "your-project-id"
dataset_id = "your-dataset-id"
# 获取查询作业历史记录
query_history = get_query_history(project_id, dataset_id)
# 打印查询作业历史记录
for row in query_history:
print(f"Job ID: {row.job_id}")
print(f"Creation Time: {row.creation_time}")
print(f"Start Time: {row.start_time}")
print(f"End Time: {row.end_time}")
print(f"Query: {row.query}")
print(f"Total Bytes Billed: {row.total_bytes_billed}")
print("==============================")
此代码示例使用 INFORMATION_SCHEMA.JOBS_BY_PROJECT
表来获取查询作业历史记录。替换 project_id
和 dataset_id
为你自己的项目和数据集的 ID。
接下来,使用 BigQuery 计划任务功能来查看定时查询。可以使用以下代码示例:
from google.cloud import bigquery
def get_scheduled_queries(project_id):
client = bigquery.Client(project=project_id)
# 获取计划任务列表
scheduled_queries = client.list_scheduled_queries()
# 返回计划任务列表
return scheduled_queries
# 指定项目
project_id = "your-project-id"
# 获取计划任务列表
scheduled_queries = get_scheduled_queries(project_id)
# 打印计划任务列表
for scheduled_query in scheduled_queries:
print(f"Scheduled Query Name: {scheduled_query.display_name}")
print(f"Scheduled Query ID: {scheduled_query.name}")
print(f"Scheduled Query State: {scheduled_query.state}")
print(f"Scheduled Query Query: {scheduled_query.query.sql}")
print("==============================")
此代码示例使用 list_scheduled_queries
方法来获取计划任务列表。替换 project_id
为你自己的项目的 ID。
使用以上两个方法,可以查看旧的定时查询的查询作业历史记录和计划任务列表。