【问题标题】:Pyspark cannot retrieve data from AWS S3Pyspark 无法从 AWS S3 检索数据
【发布时间】:2018-08-03 22:09:18
【问题描述】:

我收到以下错误:

Py4JJavaError: An error occurred while calling z:org.apache.spark.api.python.PythonRDD.collectAndServe.
: java.io.IOException: No FileSystem for scheme: s3n ...

当我尝试从 S3 检索数据时。我的spark-defaults.conf 有以下行:

spark.jars      /Users/lrezende/Desktop/hadoop-aws-2.9.0.jar

这个文件在我的桌面上。

我的代码是:

from pyspark.sql import SparkSession
if spark:
    spark.stop()

spark = SparkSession\
        .builder\
        .master("<master-address>")\
        .appName("Test")\
        .getOrCreate()

spark.sparkContext.setLogLevel('ERROR')
lines = spark.sparkContext.textFile("s3n://bucket/something/2017/*")
lines.collect()

当我运行 de lines.collect() 时,我得到了错误。

有人可以帮我解决吗?

【问题讨论】:

标签: apache-spark amazon-s3 pyspark


【解决方案1】:

如果您使用的是新的(ish)版本的 Spark(以及可传递的 Hadoop),您需要使用 s3a 而不是 s3n URI 方案。

【讨论】:

    【解决方案2】:

    毕竟我的“问题”很容易解决。我已经在我的spark-defaults.conf 中加入了以下行:

    spark.jars.packages com.amazonaws:aws-java-sdk:1.10.34,org.apache.hadoop:hadoop-aws:2.9.0
    

    每次我重新导入 Jupyter Notebook 中的所有库,但我没有尝试的是重新启动 Jupyter 服务,这仍然有点令人困惑,因为在每次创建会话时修复它之后 spark-defaults.conf 是阅读并尝试下载所需的软件包。为什么之前没有呢?

    无论如何,感谢大家的时间。

    【讨论】:

      猜你喜欢
      • 2022-01-13
      • 2018-08-19
      • 2021-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-02
      • 2016-07-20
      • 2019-09-24
      相关资源
      最近更新 更多