gpt4 book ai didi

Python BigQuery API - 获取表架构/表头

转载 作者:行者123 更新时间:2023-12-02 03:44:41 28 4
gpt4 key购买 nike

给出一个查询示例,例如

import uuid

from google.cloud import bigquery


def query_shakespeare():
client = bigquery.Client()
query_job = client.run_async_query(str(uuid.uuid4()), """
#standardSQL
SELECT corpus AS title, COUNT(*) AS unique_words
FROM `publicdata.samples.shakespeare`
GROUP BY title
ORDER BY unique_words DESC
LIMIT 10""")

query_job.begin()
query_job.result() # Wait for job to complete.

destination_table = query_job.destination
destination_table.reload()
for row in destination_table.fetch_data():
print(row)


if __name__ == '__main__':
query_shakespeare()

如何获取表的架构?行,在前面的示例中具有以下形式

Row(('august', -1, 'aaa', 333), {'col1': 0, 'col2': 1, 'col3': 2})

但我找不到包 google-cloud-bigquery==0.28.0 提取 header JSON 的方法。当然,表模式的提取对我来说也很好,但当前的 Google 文档看起来不适用于最后一个版本...

最佳答案

如果您需要刚刚查询的表的架构,可以从 QueryJobresult 方法获取:

client = bq.Client()
query = """
#standardSQL
SELECT corpus AS title, COUNT(*) AS unique_words
FROM `publicdata.samples.shakespeare`
GROUP BY title
ORDER BY unique_words DESC
LIMIT 10"""
query_job = client.query(query)
result = query_job.result()

schema = result.schema

结果:

[SchemaField(u'title', u'string', u'NULLABLE', None, ()),
SchemaField(u'unique_words', u'integer', u'NULLABLE', None, ())]

(您在问题中提供的代码与版本 0.27 相关)。

至于获取 header JSON 的问题,不确定我是否理解正确,但似乎您需要架构来查找 json 所在的位置(我猜在这里)。

关于Python BigQuery API - 获取表架构/表头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47187446/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com