Ashwath
02/14/2022, 10:13 AM---------------------------------------------------------------------------
Py4JJavaError Traceback (most recent call last)
/tmp/ipykernel_32/1433648092.py in <module>
14 df = spark.sql("select 'spark' as hello ")
15 path = "<s3a://testrepo/main/Sample-Spreadsheet-10-rows.csv>"
---> 16 df2 = spark.read.csv(path)
17
18 df2.show()
/usr/local/spark/python/pyspark/sql/readwriter.py in csv(self, path, schema, sep, encoding, quote, escape, comment, header, inferSchema, ignoreLeadingWhiteSpace, ignoreTrailingWhiteSpace, nullValue, nanValue, positiveInf, negativeInf, dateFormat, timestampFormat, maxColumns, maxCharsPerColumn, maxMalformedLogPerPartition, mode, columnNameOfCorruptRecord, multiLine, charToEscapeQuoteEscaping, samplingRatio, enforceSchema, emptyValue, locale, lineSep, pathGlobFilter, recursiveFileLookup, modifiedBefore, modifiedAfter, unescapedQuoteHandling)
408 path = [path]
409 if type(path) == list:
--> 410 return self._df(self._jreader.csv(self._spark._sc._jvm.PythonUtils.toSeq(path)))
411 elif isinstance(path, RDD):
412 def func(iterator):
/usr/local/spark/python/lib/py4j-0.10.9.2-src.zip/py4j/java_gateway.py in __call__(self, *args)
1307
1308 answer = self.gateway_client.send_command(command)
-> 1309 return_value = get_return_value(
1310 answer, self.gateway_client, self.target_id, self.name)
1311
/usr/local/spark/python/pyspark/sql/utils.py in deco(*a, **kw)
109 def deco(*a, **kw):
110 try:
--> 111 return f(*a, **kw)
112 except py4j.protocol.Py4JJavaError as e:
113 converted = convert_exception(e.java_exception)
/usr/local/spark/python/lib/py4j-0.10.9.2-src.zip/py4j/protocol.py in get_return_value(answer, gateway_client, target_id, name)
324 value = OUTPUT_CONVERTER[type](answer[2:], gateway_client)
325 if answer[1] == REFERENCE_TYPE:
--> 326 raise Py4JJavaError(
327 "An error occurred while calling {0}{1}{2}.\n".
328 format(target_id, ".", name), value)
Py4JJavaError: An error occurred while calling o325.csv.
: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class org.apache.hadoop.fs.s3a.S3AFileSystem not found
at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2667)
at org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:3431)
at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:3466)
at org.apache.hadoop.fs.FileSystem.access$300(FileSystem.java:174)
at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:3574)
at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:3521)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:540)
at org.apache.hadoop.fs.Path.getFileSystem(Path.java:365)
at org.apache.spark.sql.execution.datasources.DataSource$.$anonfun$checkAndGlobPathIfNecessary$1(DataSource.scala:747)
at scala.collection.immutable.List.map(List.scala:293)
at org.apache.spark.sql.execution.datasources.DataSource$.checkAndGlobPathIfNecessary(DataSource.scala:745)
at org.apache.spark.sql.execution.datasources.DataSource.checkAndGlobPathIfNecessary(DataSource.scala:577)
at org.apache.spark.sql.execution.datasources.DataSource.resolveRelation(DataSource.scala:408)
at org.apache.spark.sql.DataFrameReader.loadV1Source(DataFrameReader.scala:274)
at org.apache.spark.sql.DataFrameReader.$anonfun$load$3(DataFrameReader.scala:245)
at scala.Option.getOrElse(Option.scala:189)
at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:245)
at org.apache.spark.sql.DataFrameReader.csv(DataFrameReader.scala:571)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
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.ClientServerConnection.waitForCommands(ClientServerConnection.java:182)
at py4j.ClientServerConnection.run(ClientServerConnection.java:106)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.lang.ClassNotFoundException: Class org.apache.hadoop.fs.s3a.S3AFileSystem not found
at org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:2571)
at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2665)
... 29 more
df2.show()Ariel Shaqed (Scolnicov)
02/14/2022, 10:18 AMAshwath
02/14/2022, 10:22 AMAriel Shaqed (Scolnicov)
02/14/2022, 10:30 AMjava.lang.ClassNotFoundException: Class org.apache.hadoop.fs.s3a.S3AFileSystem not found
It seems that Spark fails to load the S3A filesystem. Can you please share how you are running pyspark?Ashwath
02/14/2022, 10:45 AMAriel Shaqed (Scolnicov)
02/14/2022, 11:07 AM--jars /path/to/wherever/hadoop-aws.jar
(it should be inside the container) to your pyspark commandline. See e.g. this blog post for why running PySpark on AWS can be tricky.Ashwath
02/14/2022, 12:07 PMAshwath
02/14/2022, 12:07 PMAshwath
02/14/2022, 12:40 PMAriel Shaqed (Scolnicov)
02/14/2022, 12:40 PMAshwath
02/14/2022, 12:51 PMAriel Shaqed (Scolnicov)
02/14/2022, 12:59 PMAshwath
02/14/2022, 1:08 PMJonathan Rosenberg
02/16/2022, 2:58 PMAriel Shaqed (Scolnicov)
02/16/2022, 4:31 PMAshwath
02/17/2022, 6:29 AMAriel Shaqed (Scolnicov)
02/17/2022, 6:37 AM566efee
in your history. Please give me a few minutes to try it out.Ashwath
02/17/2022, 6:40 AMAriel Shaqed (Scolnicov)
02/17/2022, 6:55 AMAshwath
02/17/2022, 6:58 AMAshwath
02/17/2022, 3:03 PMAriel Shaqed (Scolnicov)
02/17/2022, 3:06 PMmaster
should be good now.Ashwath
02/18/2022, 6:52 AMAriel Shaqed (Scolnicov)
02/18/2022, 7:08 AMAriel Shaqed (Scolnicov)
02/18/2022, 7:17 AMspark.hadoop
), but once I did that and set the example password everything works. Please see this comment I added on the issue, with code that now works.Ashwath
02/18/2022, 10:46 AMAriel Shaqed (Scolnicov)
02/18/2022, 10:47 AMAshwath
02/18/2022, 1:31 PMAshwath
02/18/2022, 1:32 PMAriel Shaqed (Scolnicov)
02/18/2022, 1:43 PM