Amazon s3 无法将数据从s3读取到Sagemaker中的spark数据帧

Amazon s3 无法将数据从s3读取到Sagemaker中的spark数据帧,amazon-s3,pyspark,amazon-sagemaker,Amazon S3,Pyspark,Amazon Sagemaker,我试图将s3存储桶上的csv文件(sagemaker笔记本可以完全访问该存储桶)读入spark数据帧,但我遇到了以下问题,其中无法找到sagemaker-spark_2.11-spark_2.2.0-1.1.jar。任何有关如何解决此问题的提示都将不胜感激 bucket = "mybucket" prefix = "folder/file.csv" df = spark.read.csv("s3://{}/{}/".format(bucket,prefix)) Py4JJavaError: A

我试图将s3存储桶上的csv文件(sagemaker笔记本可以完全访问该存储桶)读入spark数据帧,但我遇到了以下问题,其中无法找到
sagemaker-spark_2.11-spark_2.2.0-1.1.jar
。任何有关如何解决此问题的提示都将不胜感激

bucket = "mybucket"
prefix = "folder/file.csv"
df = spark.read.csv("s3://{}/{}/".format(bucket,prefix))

Py4JJavaError: An error occurred while calling o388.csv.
: java.util.ServiceConfigurationError: org.apache.spark.sql.sources.DataSourceRegister: Error reading configuration file
at java.util.ServiceLoader.fail(ServiceLoader.java:232)
at java.util.ServiceLoader.parse(ServiceLoader.java:309)
at java.util.ServiceLoader.access$200(ServiceLoader.java:185)
at java.util.ServiceLoader$LazyIterator.hasNextService(ServiceLoader.java:357)
at java.util.ServiceLoader$LazyIterator.hasNext(ServiceLoader.java:393)
at java.util.ServiceLoader$1.hasNext(ServiceLoader.java:474)
at scala.collection.convert.Wrappers$JIteratorWrapper.hasNext(Wrappers.scala:42)
at scala.collection.Iterator$class.foreach(Iterator.scala:893)
at scala.collection.AbstractIterator.foreach(Iterator.scala:1336)
at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
at scala.collection.TraversableLike$class.filterImpl(TraversableLike.scala:247)
at scala.collection.TraversableLike$class.filter(TraversableLike.scala:259)
at scala.collection.AbstractTraversable.filter(Traversable.scala:104)
at org.apache.spark.sql.execution.datasources.DataSource$.lookupDataSource(DataSource.scala:614)
at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:190)
at org.apache.spark.sql.DataFrameReader.csv(DataFrameReader.scala:596)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244)
at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357)
at py4j.Gateway.invoke(Gateway.java:282)
at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)
at py4j.commands.CallCommand.execute(CallCommand.java:79)
at py4j.GatewayConnection.run(GatewayConnection.java:238)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.FileNotFoundException: /home/ec2-user/anaconda3/envs/python3/lib/python3.6/site-packages/sagemaker_pyspark/jars/sagemaker-spark_2.11-spark_2.2.0-1.1.1.jar (No such file or directory)
    at java.util.zip.ZipFile.open(Native Method)
    at java.util.zip.ZipFile.<init>(ZipFile.java:219)
    at java.util.zip.ZipFile.<init>(ZipFile.java:149)
    at java.util.jar.JarFile.<init>(JarFile.java:166)
    at java.util.jar.JarFile.<init>(JarFile.java:103)
    at sun.net.www.protocol.jar.URLJarFile.<init>(URLJarFile.java:93)
    at sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:69)
    at sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:84)
    at sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:122)
    at sun.net.www.protocol.jar.JarURLConnection.getInputStream(JarURLConnection.java:150)
    at java.net.URL.openStream(URL.java:1045)
    at java.util.ServiceLoader.parse(ServiceLoader.java:304)
    ... 26 more
bucket=“mybucket”
prefix=“folder/file.csv”
df=spark.read.csv(“s3://{}/{}/.”格式(bucket,前缀))
Py4JJavaError:调用o388.csv时出错。
:java.util.ServiceConfigurationError:org.apache.spark.sql.sources.DataSourceRegister:读取配置文件时出错
在java.util.ServiceLoader.fail处(ServiceLoader.java:232)
位于java.util.ServiceLoader.parse(ServiceLoader.java:309)
在java.util.ServiceLoader.access$200(ServiceLoader.java:185)
位于java.util.ServiceLoader$LazyIterator.hasNextService(ServiceLoader.java:357)
位于java.util.ServiceLoader$LazyIterator.hasNext(ServiceLoader.java:393)
位于java.util.ServiceLoader$1.hasNext(ServiceLoader.java:474)
位于scala.collection.convert.Wrappers$JIteratorWrapper.hasNext(Wrappers.scala:42)
位于scala.collection.Iterator$class.foreach(Iterator.scala:893)
位于scala.collection.AbstractIterator.foreach(迭代器.scala:1336)
位于scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
位于scala.collection.AbstractIterable.foreach(Iterable.scala:54)
位于scala.collection.TraversableLike$class.filterImpl(TraversableLike.scala:247)
位于scala.collection.TraversableLike$class.filter(TraversableLike.scala:259)
位于scala.collection.AbstractTraversable.filter(Traversable.scala:104)
位于org.apache.spark.sql.execution.datasources.DataSource$.lookUpdateSource(DataSource.scala:614)
位于org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:190)
位于org.apache.spark.sql.DataFrameReader.csv(DataFrameReader.scala:596)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于java.lang.reflect.Method.invoke(Method.java:498)
位于py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244)
位于py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357)
在py4j.Gateway.invoke处(Gateway.java:282)
位于py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)
在py4j.commands.CallCommand.execute(CallCommand.java:79)
在py4j.GatewayConnection.run处(GatewayConnection.java:238)
运行(Thread.java:745)
原因:java.io.FileNotFoundException:/home/ec2 user/anaconda3/envs/python3/lib/python3.6/site-packages/sagemaker\u pyspark/jars/sagemaker-spark\u 2.11-spark\u 2.2.0-1.1.jar(无此类文件或目录)
位于java.util.zip.ZipFile.open(本机方法)
位于java.util.zip.ZipFile(ZipFile.java:219)
位于java.util.zip.ZipFile(ZipFile.java:149)
位于java.util.jar.JarFile。(JarFile.java:166)
位于java.util.jar.JarFile。(JarFile.java:103)
位于sun.net.www.protocol.jar.URLJarFile.(URLJarFile.java:93)
位于sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:69)
位于sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:84)
位于sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:122)
位于sun.net.www.protocol.jar.JarURLConnection.getInputStream(JarURLConnection.java:150)
在java.net.URL.openStream(URL.java:1045)
位于java.util.ServiceLoader.parse(ServiceLoader.java:304)
... 26多
(对原始问题进行评论作为答案)


这看起来像是jupyter内核的问题。我有一个类似的问题,我使用了
Sparkmagic(pyspark)
内核,而不是
Sparkmagic(pyspark3)
,它工作得很好。按照说明进行操作,看看是否有帮助。

这看起来像是jupyter内核的问题。我有一个类似的问题,我使用了
Sparkmagic(pyspark)
内核,而不是
Sparkmagic(pyspark3)
,它工作得很好。请按照说明进行操作,看看是否有帮助。谢谢@rajesh我最初也关注了同一个博客!但是你是对的,这在
Sparkmagic(pyspark)
中不会发生,它是特定于
Sparkmagic(pyspark3)
的!如果您愿意,请将您的回复作为答案,因为这也有助于解锁其他人!