gpt4 book ai didi

python - 不使用 Google Cloud Storage 将 BigQuery 数据导出为 CSV

转载 作者:太空狗 更新时间:2023-10-29 18:23:01 27 4
gpt4 key购买 nike

我目前正在写一个软件,用于导出大量的BigQuery数据并将查询结果存储在本地为CSV文件。我使用的是 Python 3 和 google 提供的客户端。我进行了配置和身份验证,但问题是我无法在本地存储数据。每次执行时,我都会收到以下错误消息:

googleapiclient.errors.HttpError: https://www.googleapis.com/bigquery/v2/projects/round-office-769/jobs?alt=json returned "Invalid extract destination URI 'response/file-name-*.csv'. Must be a valid Google Storage path.">

这是我的作业配置:

def export_table(service, cloud_storage_path,
projectId, datasetId, tableId, sqlQuery,
export_format="CSV",
num_retries=5):

# Generate a unique job_id so retries
# don't accidentally duplicate export
job_data = {
'jobReference': {
'projectId': projectId,
'jobId': str(uuid.uuid4())
},
'configuration': {
'extract': {
'sourceTable': {
'projectId': projectId,
'datasetId': datasetId,
'tableId': tableId,
},
'destinationUris': ['response/file-name-*.csv'],
'destinationFormat': export_format
},
'query': {
'query': sqlQuery,
}
}
}
return service.jobs().insert(
projectId=projectId,
body=job_data).execute(num_retries=num_retries)

我希望我可以只使用本地路径而不是云存储来存储数据,但我错了。

所以我的问题是:

我可以将查询的数据下载到本地(或本地数据库)还是必须使用 Google Cloud Storage?

最佳答案

您需要使用 Google Cloud Storage 进行导出作业。从 BigQuery 导出数据的说明 here , 还要检查不同路径语法的变体。

然后您可以将文件从 GCS 下载到您的本地存储。

Gsutil工具可以帮助您进一步将文件从 GCS 下载到本地机器。

本地不能一键下载,需要先导出到GCS,再传到本地。

关于python - 不使用 Google Cloud Storage 将 BigQuery 数据导出为 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31651171/

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