Все
Я пытаюсь подключиться к среде S3 от искры, установленной на локальном компьютере Mac, и с помощью следующих команд
./bin/spark-shell --packages com.amazonaws:aws-java-sdk-pom:1.11.271,org.apache.hadoop:hadoop-aws:3.1.1,org.apache.hadoop:hadoop-hdfs:2.7.1
Это подключается к Scala и загружает все библиотеки
Затем я выполняю следующие команды в spark shell
val accessKeyId = System.getenv("AWS_ACCESS_KEY_ID")
val secretAccessKey = System.getenv("AWS_SECRET_ACCESS_KEY")
val hadoopConf=sc.hadoopConfigurationhadoopConf.set("fs.s3.impl","org.apache.hadoop.fs.s3a.S3AFileSystem")
hadoopConf.set("fs.s3.awsAccessKeyId", accessKeyId)
hadoopConf.set("fs.s3.awsSecretAccessKey", secretAccessKey)
hadoopConf.set("fs.s3n.awsAccessKeyId", accessKeyId)
hadoopConf.set("fs.s3n.awsSecretAccessKey", secretAccessKey)
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
val df = sqlContext.read.json("s3a://path/1551467354353.c948f177e1fb.dev.0fd8f5fd-22d4-4523-b6bc-b68c181b4906.gz")
Но я получаю NoClassDefFoundError: org/apache/hadoop/fs/StreamCapabilities
, когда использую S3a или S3
Есть идеи, чего мне здесь не хватает?