Искра не может получить доступ к S3 ведро клиента из EMR - PullRequest
0 голосов
/ 20 февраля 2020

Я пытаюсь подключиться к корзине s3 другого аккаунта. Проблема в том, что я могу подключиться к корзине через s3 API

def listFilesAndRename(key : String) = {
    val clientBucket = "test"
    val credentials = new BasicAWSCredentials("access key", "secret key")
    val s3 = AmazonS3ClientBuilder.standard.withRegion(Regions.US_EAST_1).withCredentials(new AWSStaticCredentialsProvider(credentials)).build

  val result = s3.listObjectsV2(clientBucket, key)
  val objects = result.getObjectSummaries.toArray
  for {
    os <- objects
    fileName = os.asInstanceOf[S3ObjectSummary].getKey
    if !fileName.endsWith("_SUCCESS")
       } {
    System.out.println("* " + os.asInstanceOf[S3ObjectSummary].getKey)
  }
}

, но когда я хочу подключиться с помощью spark, он не работает. Я попробовал следующие настройки

spark.conf.set("spark.hadoop.fs.s3a.access.key", "access key")
spark.conf.set("spark.hadoop.fs.s3a.secret.key", "secret key")
spark.conf.set("spark.hadoop.fs.s3a.impl", "org.apache.hadoop.fs.s3a.S3AFileSystem")

Причины:

com.amazon.ws.emr.hadoop.fs.shaded.com.amazonaws.services.s3.model.AmazonS3Exception: Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: 799F611A3D7BB5E1; S3 Extended Request ID: USTzJmBtWt27ccvF+YuTogwDSknuvB2tBLHxqPySLwftHXfmPpPYVjqVubzeVnqjJS89fzIjJw8=)
  at com.amazon.ws.emr.hadoop.fs.shaded.com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleErrorResponse(AmazonHttpClient.java:1712)
  at com.amazon.ws.emr.hadoop.fs.shaded.com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1367)
  at com.amazon.ws.emr.hadoop.fs.shaded.com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1113)
  at com.amazon.ws.emr.hadoop.fs.shaded.com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:770)

Так что очевидно, что это не ошибка подключения, но похоже, что spark не может подключиться к корзине s3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...