首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从以下位置的元数据服务器获取访问令牌时出错: http://metadata/computeMetadata/v1/instance/service-accounts/default/token

从以下位置的元数据服务器获取访问令牌时出错: http://metadata/computeMetadata/v1/instance/service-accounts/default/token
EN

Stack Overflow用户
提问于 2020-12-17 06:27:48
回答 2查看 994关注 0票数 1

我已经尝试过p12密钥文件,它成功地工作了,并且我能够从gcs存储桶中获取数据。但是使用json keyfile时,sparksession没有获得json配置值。取而代之的是默认的元数据。我正在使用maven和IntelliJ进行开发。下面是代码片段

代码语言:javascript
复制
def main(args: Array[String]): Unit = {
System.out.println("hello gcp connect")
System.setProperty("hadoop.home.dir", "C:/hadoop/")
val sparkSession =
  SparkSession.builder()
    .appName("my first project")
    .master("local[*]")
    .config("spark.hadoop.fs.gs.project.id", "shaped-radius-297301")
    .config("spark.hadoop.fs.gs.impl", "com.google.cloud.hadoop.fs.gcs.GoogleHadoopFileSystem")
    .config("spark.hadoop.fs.AbstractFileSystem.gs.impl", "com.google.cloud.hadoop.fs.gcs.GoogleHadoopFS")
    .config("spark.hadoop.google.cloud.project.id", "shaped-radius-297301")
    .config("spark.hadoop.google.cloud.auth.service.account.enable", "true")
    .config("spark.hadoop.google.cloud.auth.service.account.email", "service-account@shaped-radius-297301.iam.gserviceaccount.com")
    .config("spark.hadoop.google.cloud.service.account.json.keyfile", "C:/Users/shaped-radius-297301-5bf673d7f0d2.json")
    .getOrCreate()
    sparkSession.sparkContext.addFile("gs://test_bucket/sample1.csv")
    sparkSession.read.csv(SparkFiles.get("sample1.csv")).show()
EN

回答 2

Stack Overflow用户

发布于 2020-12-17 13:31:27

您需要对您的配置进行改进。从您提供的图像看,您的服务帐户电子邮件和服务帐户密钥不正确。请确保您在IAM上使用的是具有云存储管理员角色的correct service account电子邮件,例如:

代码语言:javascript
复制
serviceaccount@project-id.iam.gserviceaccount.com

你的service account key的路径应该是你的配置可以看到的目录,“json的路径”应该是你的密钥当前所在的目录。

此外,请确保您使用的存储桶存在于您的项目中,否则您将收到错误,如“存储桶不存在”或“访问被拒绝”。

更新

OP更新了问题,请参阅此link。可能是GOOGLE_APPLICATION_CREDENTIALS指向了错误的位置,或者没有正确的IAM权限。

票数 0
EN

Stack Overflow用户

发布于 2021-11-01 06:41:50

设置凭证文件时出现问题,密钥文件vin数据块,所以我使用

libraryDependencies += "com.github.samelamin“%% "spark-bigquery”% "0.2.6“在scala的一个笔记本中设置

代码语言:javascript
复制
import com.samelamin.spark.bigquery._

// Set up GCP credentials
sqlContext.setGcpJsonKeyFile("<JSON_KEY_FILE>")

// Set up BigQuery project and bucket
sqlContext.setBigQueryProjectId("<BILLING_PROJECT>")
sqlContext.setBigQueryGcsBucket("<GCS_BUCKET>")

并且我们能够通过python与其他笔记本电脑正确连接到google

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65332035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档