Spark Scala代码读取DSX中的aws s3存储

Spark Scala代码读取DSX中的aws s3存储,scala,data-science-experience,Scala,Data Science Experience,了解如何使用scala阅读aws s3吗。我试过这个链接 但无法让它工作。我也可以在数据块中这样做,但使用dsx它不工作等等 IBM已经在这里记录了python的步骤,但没有一个用于scala- spark.sparkContext.hadoopConfiguration.set(“fs.s3n.impl”、“org.apache.hadoop.fs.s3native.NativeS3FileSystem”) spark.sparkContext.hadoopConfiguration.set

了解如何使用scala阅读aws s3吗。我试过这个链接

但无法让它工作。我也可以在数据块中这样做,但使用dsx它不工作等等

IBM已经在这里记录了python的步骤,但没有一个用于scala-

spark.sparkContext.hadoopConfiguration.set(“fs.s3n.impl”、“org.apache.hadoop.fs.s3native.NativeS3FileSystem”) spark.sparkContext.hadoopConfiguration.set(“fs.s3n.awsAccessKeyId”,“xyz”) spark.sparkContext.hadoopConfiguration.set(“fs.s3n.awsSecretAccessKey”,“abc”)

val df_data_1=spark.read.format(“csv”).option(“header”、“true”).load(“s3a://defg/retail data/by day/*.csv”)
df_data_1.取(5)

不确定使用本机(s3n)和s3a之间是否有任何区别。 但是s3a工作得很好

import org.apache.spark.sql.SparkSession

val spark = SparkSession.
    builder().
    getOrCreate()


val hconf = spark.sparkContext.hadoopConfiguration
hconf.set("fs.s3a.access.key", "XXXXXXXXX")  
hconf.set("fs.s3a.secret.key", "XXXXXXXXX") 


val dfData1 = spark.
    read.format("org.apache.spark.sql.execution.datasources.csv.CSVFileFormat").
    option("header", "true").
    option("inferSchema", "true").
    load("s3a://charlesbuckets31/users.csv")
dfData1.show(5)

谢谢,
Charles。

是否要使用spark读取s3??如果有,请更新您的标题和标签。另外,也张贴您编写的代码,该代码不起作用。S3n和S3a之间的差异非常显著,如“S3a现在和将来都会维护”;s3n是它的前身。顺便说一句,模式推断意味着一次数据扫描只是为了得出模式,另一次是为了读取。最好在代码中声明模式