Задание чтения Spark из объекта gcs зависло

Я пытаюсь локально прочитать объект с помощью искровой работы. Я ранее создавал с помощью другого задания Spark локально. При просмотре журналов я не вижу ничего странного, а в пользовательском интерфейсе искры задание просто зависает

Прежде чем начать чтение, я обновляю конфигурацию Spark следующим образом:

      val hc = spark.sparkContext.hadoopConfiguration
hc.set("fs.gs.impl", "com.google.cloud.hadoop.fs.gcs.GoogleHadoopFileSystem")
hc.set("fs.AbstractFileSystem.gs.impl", "com.google.cloud.hadoop.fs.gcs.GoogleHadoopFS")
hc.set("fs.gs.project.id", credential.projectId)
hc.set("fs.gs.auth.service.account.enable", "true")
hc.set("fs.gs.auth.service.account.email", credential.email)
hc.set("fs.gs.auth.service.account.private.key.id", credential.keyId)
hc.set("fs.gs.auth.service.account.private.key", credential.key)

Тогда я просто читал вот так

      val path = "gs://mybucket/data.csv"
val options = Map("credentials" -> credential.base64ServiceAccount, "parentProject" -> credential.projectId)
spark.read.format("csv")
      .options(options)
      .load(path)

Моя учетная запись службы имеет эти разрешения, я буквально добавил все разрешения, которые смог найти для хранилища объектов.

      Storage Admin
Storage Object Admin
Storage Object Creator
Storage Object Viewer

Так я ранее писал объект

      val path = "gs://mybucket/data.csv"
val options = Map("credentials" -> credential.base64ServiceAccount, "parentProject" -> credential.projectId, "header" -> "true")
var writer = df.write.format("csv").options(options)
writer.save(path)

Есть идеи, почему запись будет успешной, но чтение застряло вот так?

1 ответ

Я использовал версию зависимостей, которая не была последней. После того, как я обновил зависимости коннектора Google до последней версии (декабрь 2021 г.), у меня заработало чтение и запись из хранилища Google.

Другие вопросы по тегам