【发布时间】:2015-09-01 21:24:37
【问题描述】:
我正在尝试将amazon s3 连接到Sparkstreaming。我在本地机器上运行代码并尝试从 s3 流式传输到 Spark,但出现以下错误:
java.io.IOException: No FileSystem for scheme: s3n
你能帮我解决同样的问题吗?
【问题讨论】:
标签: hadoop amazon-s3 apache-spark bigdata spark-streaming
我正在尝试将amazon s3 连接到Sparkstreaming。我在本地机器上运行代码并尝试从 s3 流式传输到 Spark,但出现以下错误:
java.io.IOException: No FileSystem for scheme: s3n
你能帮我解决同样的问题吗?
【问题讨论】:
标签: hadoop amazon-s3 apache-spark bigdata spark-streaming
您可以通过在您的 spark 上下文的 hadoop 配置中指定 s3n 方案的实现来解决它:
sparkContext.hadoopConfiguration.set("fs.s3.impl", "org.apache.hadoop.fs.s3native.NativeS3FileSystem")
为了访问 s3,您可能还需要指定 AWS 凭证:
sparkContext.hadoopConfiguration.set("fs.s3n.awsAccessKeyId", "***")
sparkContext.hadoopConfiguration.set("fs.s3n.awsSecretAccessKey", "***")
然后您可以通过以下方式创建您的 StreamingContext:
val ssc = new StreamingContext(sc, Seconds(1))
您可能想尝试通过 s3a:// 而不是 s3n:// 访问 s3,后者使用 aws-sdk 库而不是 jets3t 来访问文件。
【讨论】: