要使用BigQuery服务账号查询您账户下的公共数据集,您可以按照以下步骤进行操作:
创建BigQuery服务账号并授予适当的权限:
gcloud iam service-accounts create my-bq-service-account
gcloud projects add-iam-policy-binding YOUR_PROJECT_ID --member="serviceAccount:my-bq-service-account@YOUR_PROJECT_ID.iam.gserviceaccount.com" --role="roles/bigquery.dataViewer"
通过以下方式获取服务账号的密钥文件:
gcloud iam service-accounts keys create key.json --iam-account=my-bq-service-account@YOUR_PROJECT_ID.iam.gserviceaccount.com
使用Python代码示例连接到BigQuery并查询公共数据集:
from google.cloud import bigquery
# 指定服务账号密钥文件路径
service_account_key = 'path/to/key.json'
# 创建BigQuery客户端
client = bigquery.Client.from_service_account_json(service_account_key)
# 查询公共数据集
query = """
SELECT *
FROM `bigquery-public-data.samples.shakespeare`
LIMIT 10
"""
query_job = client.query(query) # 提交查询任务
results = query_job.result() # 获取查询结果
for row in results:
print(row)
请确保将path/to/key.json
替换为您实际的服务账号密钥文件路径,并将bigquery-public-data.samples.shakespeare
替换为您想要查询的公共数据集。
通过以上步骤,您可以使用BigQuery服务账号查询您账户下的公共数据集。