Scala Spark Read from AWS S3 — com.amazonaws.SdkClientException: невозможно загрузить учетные данные из конечной точки службы

В настоящее время я пытаюсь выполнить простое чтение из настроенного мной ведра S3, используя Spark 3.0.0 (реализация через Scala 2.12.10). Однако при отправке скрипта я получаю эту ошибку:

No AWS Credentials provided by BasicAWSCredentialsProvider EnvironmentVariableCredentialsProvider InstanceProfileCredentialsProvider : com.amazonaws.SdkClientException: Unable to load credentials from service endpoint: No AWS Credentials provided by BasicAWSCredentialsProvider EnvironmentVariableCredentialsProvider InstanceProfileCredentialsProvider : com.amazonaws.SdkClientException: Unable to load credentials from service endpoint

Я реализую текущий искровый скрипт:

package org.knd import scala.util.Properties import org.apache.spark.{SparkConf, SparkContext} import org.apache.spark.sql.{SparkSession, SQLContext} import io.delta.tables._ import org.apache.spark.sql.functions._ object App { def main(args: Array[String]) : Unit = { val spark = SparkSession .builder() .appName(«covid-delta-lake») .master(«local») .config(«spark.sql.extensions», «io.delta.sql.DeltaSparkSessionExtension») .config(«spark.sql.catalog.spark_catalog», «org.apache.spark.sql.delta.catalog.DeltaCatalog») .getOrCreate() val aws_access_key = scala.util.Properties.envOrElse(«AWS_ACCESS_KEY», «notAvailable» ) val aws_secret = scala.util.Properties.envOrElse(«AWS_SECRET_ACCESS_KEY_ID», «notAvailable» ) spark.sparkContext.hadoopConfiguration.set(«fs.s3a.awsAccessKeyId», aws_access_key) spark.sparkContext.hadoopConfiguration.set(«fs.s3a.awsSecretAccessKey», aws_secret) spark.sparkContext.hadoopConfiguration.set(«fs.s3a.endpoint», «s3.amazonaws.com») print(«n» + «====================HERE====================» + «n») val data = spark.read.parquet(«s3a://[url-to-my-s3]/*.parquet») data.show(10) } }

Я дважды проверил свои ключи AWS и URL-адрес s3, поэтому уверен, что проблема не в этом. Я пробовал читать из других сегментов и получаю ту же ошибку. Я включил свой файл POM ниже:

<project xmlns=»https://maven.apache.org/POM/4.0.0″ xmlns:xsi=»https://www.w3.org/2001/XMLSchema-instance» xsi:schemaLocation=»https://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd»> <modelVersion>4.0.0</modelVersion> <groupId>org.knd</groupId> <artifactId>delta-lake-scala</artifactId> <version>1.0-SNAPSHOT</version> <inceptionYear>2020</inceptionYear> <properties> <scala.version>2.12.10</scala.version> </properties> <repositories> <repository> <id>scala-tools.org</id> <name>Scala-Tools Maven2 Repository</name> <url>https://scala-tools.org/repo-releases</url> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>scala-tools.org</id> <name>Scala-Tools Maven2 Repository</name> <url>https://scala-tools.org/repo-releases</url> </pluginRepository> </pluginRepositories> <dependencies> <dependency> <groupId>org.scala-lang</groupId> <artifactId>scala-library</artifactId> <version>${scala.version}</version> </dependency> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.12</artifactId> <version>3.0.0</version> </dependency> <!— https://mvnrepository.com/artifact/org.apache.spark/spark-sql —> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-sql_2.12</artifactId> <version>3.0.0</version> </dependency> <dependency> <groupId>io.delta</groupId> <artifactId>delta-core_2.12</artifactId> <version>0.7.0</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>3.0.0</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>3.0.0</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-aws</artifactId> <version>3.0.0</version> </dependency> </dependencies> <build> <sourceDirectory>src/main/scala</sourceDirectory> <testSourceDirectory>src/test/scala</testSourceDirectory> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-eclipse-plugin</artifactId> <configuration> <downloadSources>true</downloadSources> <buildcommands> <buildcommand>ch.epfl.lamp.sdt.core.scalabuilder</buildcommand> </buildcommands> <additionalProjectnatures> <projectnature>ch.epfl.lamp.sdt.core.scalanature</projectnature> </additionalProjectnatures> <classpathContainers> <classpathContainer>org.eclipse.jdt.launching.JRE_CONTAINER</classpathContainer> <classpathContainer>ch.epfl.lamp.sdt.launching.SCALA_CONTAINER</classpathContainer> </classpathContainers> </configuration> </plugin> </plugins> </build> <reporting> <plugins> </plugins> </reporting> </project>

переменные среды, которые вы используете, и свойства scala немного отличаются от рекомендованных здесь: вы пытались изменить свои переменные среды и / или конфигурацию hadoop, чтобы они соответствовали: infoobjects.com/2016/02/27/   —  person    schedule 27.09.2020

Источник: ledsshop.ru

Стиль жизни - Здоровье!