【发布时间】:2020-06-21 11:52:51
【问题描述】:
我正在尝试使用 spark 连接到 minio 提供的 s3 但它说 bucket minikube 不存在。 (已创建存储桶)
val spark = SparkSession.builder().appName("AliceProcessingTwentyDotTwo")
.config("spark.serializer", "org.apache.spark.serializer.KryoSerializer").master("local[1]")
.getOrCreate()
val sc= spark.sparkContext
sc.hadoopConfiguration.set("fs.s3a.impl", "org.apache.hadoop.fs.s3a.S3AFileSystem")
sc.hadoopConfiguration.set("fs.s3a.endpoint", "http://localhost:9000")
sc.hadoopConfiguration.set("fs.s3a.access.key", "minioadmin")
sc.hadoopConfiguration.set("fs.s3a.secret.key", "minioadmin")
sc.hadoopConfiguration.set("fs.s3`a`.path.style.access", "true")
sc.hadoopConfiguration.set("fs.s3a.connection.ssl.enabled","false")
sc.textFile("""s3a://minikube/data.json""").collect()
我正在使用以下指南进行连接。
https://github.com/minio/cookbook/blob/master/docs/apache-spark-with-minio.md
这些是我在 scala 中使用的依赖项。
"org.apache.spark" %% "spark-core" % "2.4.0", "org.apache.spark" %% “spark-sql”%“2.4.0”,“com.amazonaws”%“aws-java-sdk”%“1.11.712”, "org.apache.hadoop" % "hadoop-aws" % "2.7.3",
【问题讨论】:
-
1) 错误出现在什么时候?更精确。 2)这个位:(“fs.s3
a.path.style.access”,“true”)你有反引号,在你的原始代码中也是如此吗?他们并不真正属于那里。 -
@frandroid 说 s3a 是复制粘贴错误.. 错误出现在 sc.textFile()
-
1.切掉“fs.s3a.impl”——这只是别人传下来的一些迷信。 2.使用与你正在使用的五年旧版hadoop相同版本的AWS SDK mvnrepository.com/artifact/org.apache.hadoop/hadoop-aws/2.7.0
标签: scala apache-spark amazon-s3 minio