gpt4 book ai didi

python - 如何在 AI 平台培训中将 pandas-gbq 与 BigQuery Storage API 结合使用?

转载 作者:行者123 更新时间:2023-12-04 15:28:22 25 4
gpt4 key购买 nike

我正在向 GCP AI 平台培训服务提交培训作业。我的训练数据集(同一 GCP 项目中 BigQuery 表上的大约 4000 万行)需要在训练工作开始时作为 Pandas 数据框进行预处理,因此我尝试了 GCP documentation 提出的两种解决方案。 :

  • pandas_gbq API:pd.read_gbq(query, project_id=PROJECT, dialect='standard', use_bqstorage_api=True)

  • google-cloud-bigquery API:client.query(query).to_dataframe(bqstorage_client=bqstorage_client)

这两种方法都适用于 AI 平台笔记本虚拟机,可在几分钟内将整个 4000 万行数据集下载为 pandas 数据帧。我正在努力在 AI 平台训练服务器(在 n1-highmem-16 机器上运行)上复制相同的过程。在 pandas-gbq API 的情况下,我获得了一个权限被拒绝的错误:

google.api_core.exceptions.PermissionDenied: 403 请求失败:用户没有 'projects/acn-c4-crmdataplatform-dev' 的 bigquery.readsessions.create' 权限

对于 google-cloud-bigquery API,没有错误。

根据 GCP documentation 的建议,这是我所需的软件包列表,通过训练包中的setup.py文件传递给AI平台训练作业:

  • tensorflow==2.1.0
  • numpy==1.18.2
  • Pandas ==1.0.3
  • google-api-core==1.17.0
  • google-cloud-core==1.3.0
  • pyarrow==0.16.0
  • pandas-gbq==0.13.1
  • google-cloud-bigquery-storage==0.8.0
  • google-cloud-bigquery==1.24.0

最佳答案

你必须做两件事:

  • 首先,检查服务帐户 service-<PROJECT_NUMBER>@cloud-ml.google.com.iam.gserviceaccount.com存在并具有 Cloud ML Service Agent角色。如果没有,请手动添加(您不必创建它!)
  • 授予此服务帐号查询您的 BigQuery 数据集的权限。

关于python - 如何在 AI 平台培训中将 pandas-gbq 与 BigQuery Storage API 结合使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61798710/

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