有关如何使用scala读取aws s3的任何想法。我试过这个链接
https://www.cloudera.com/documentation/enterprise/5-5-x/topics/spark_s3.html
但无法让它发挥作用。我可以在数据块中使用相同的但是使用dsx它不能正常工作等。
IBM已在此处记录了python的步骤,但没有记录scala的步骤 - https://datascience.ibm.com/blog/use-ibm-data-science-experience-to-read-and-write-data-stored-on-amazon-s3/
spark.sparkContext.hadoopConfiguration.set(" fs.s3n.impl"" org.apache.hadoop.fs.s3native.NativeS3FileSystem&#34) 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.take(5)
答案 0 :(得分:2)
不确定使用native(s3n)vs 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)
谢谢, 查尔斯。