Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 从AWS S3读取CSV文件_Apache Spark_Pyspark - Fatal编程技术网

Apache spark 从AWS S3读取CSV文件

Apache spark 从AWS S3读取CSV文件,apache-spark,pyspark,Apache Spark,Pyspark,我有一个运行pyspark的EC2实例,我能够连接到它(ssh)并在Jupyter笔记本中运行交互式代码 我有一个S3存储桶,其中包含一个csv文件,当我尝试使用以下工具读取该文件时,我希望读取该文件: spark = SparkSession.builder.appName('Basics').getOrCreate() df = spark.read.csv('https://s3.us-east-2.amazonaws.com/bucketname/filename.csv') 它会抛出

我有一个运行pyspark的EC2实例,我能够连接到它(ssh)并在Jupyter笔记本中运行交互式代码

我有一个S3存储桶,其中包含一个csv文件,当我尝试使用以下工具读取该文件时,我希望读取该文件:

spark = SparkSession.builder.appName('Basics').getOrCreate()
df = spark.read.csv('https://s3.us-east-2.amazonaws.com/bucketname/filename.csv')
它会抛出一条很长的Python错误消息,然后是与以下内容相关的内容:

Py4JJavaError:调用o131.csv时出错


指定S3路径以及访问密钥和密钥,如下所示:

's3n://<AWS_ACCESS_KEY_ID>:<AWS_SECRET_ACCESS_KEY>@my.bucket/folder/input_data.csv'
's3n://:@my.bucket/folder/input_data.csv'

访问密钥相关信息可以以URL的典型用户名+密码方式引入。通常,接入协议应该是
s3a
,是
s3n
的后续协议(请参阅)。把这些放在一起,你会得到

spark.read.csv("s3a://<AWS_ACCESS_KEY_ID>:<AWS_SECRET_ACCESS_KEY>@bucketname/filename.csv")

spark.read.csv("s3a://.

更改它并不能解决问题。获得相同的错误,如果我将文件移动到EC2目录,我可以在不传递用户和pwd信息的情况下读取它。更改它并不能解决问题。获得相同的错误,如果我将文件移动到EC2目录,我可以在不传递用户和pwd信息的情况下读取它。确定,EC2卷e通常有一个普通的文件系统,因此您可以直接从中读取。如果没有更多信息,例如角色、权限、完整代码、完整堆栈跟踪等,则很难诊断您的问题。上面的答案是Spark如何在不装载的情况下访问S3。如果它不适用于您,则是配置/权限问题。