以下是一个Python代码示例,展示了如何在BigQuery中从第二个表中连接最新的单行:
from google.cloud import bigquery
def get_latest_row():
# 创建BigQuery客户端
client = bigquery.Client()
# 查询第一个表中的最新日期
query = """
SELECT MAX(date) as latest_date
FROM `project.dataset.table1`
"""
# 执行查询
query_job = client.query(query)
results = query_job.result()
# 获取最新日期
for row in results:
latest_date = row.latest_date
# 查询第二个表中的最新行
query = f"""
SELECT *
FROM `project.dataset.table2`
WHERE date = '{latest_date}'
"""
# 执行查询
query_job = client.query(query)
results = query_job.result()
# 返回最新行
for row in results:
return row
在这个例子中,我们首先查询第一个表中的最新日期。然后将这个日期用作第二个查询中的过滤条件,以获取第二个表中匹配最新日期的行。最后,我们返回这个最新行。
请注意,你需要将 project.dataset.table1
和 project.dataset.table2
替换为你自己的BigQuery项目、数据集和表的名称。另外,确保你已经安装了 google-cloud-bigquery
包,并且已经设置好了你的身份验证凭据。