Soy un novato en Spark y estoy aprendiendo Spark con Java en ubuntu 18.0 sin clústeres explícitos. Tengo el archivo data.csv guardado en el sistema de archivos local en la carpeta java/main/resources.
mientras ejecuta el siguiente código,
SparkSession sparkSession = SparkSession.builder() .appName("sparksql").master("local[*]") .getOrCreate(); Dataset<Row> dataset = sparkSession.read() .option("header", true) .csv("/media/home/work/sparksamples/src/main/resources/exams/test.csv");viene el siguiente error:
20/11/23 16:07:46 WARN NativeCodeLoader: no se puede cargar la biblioteca de hadoop nativo para su plataforma... usando clases java integradas cuando corresponda
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hdfs/DistributedFileSystem at org.apache.spark.sql.execution.datasources.InMemoryFileIndex$.listLeafFiles(InMemoryFileIndex.scala:316) at org.apache.spark.sql.execution.datasources.InMemoryFileIndex$.$anonfun$bulkListLeafFiles$1(InMemoryFileIndex.scala:195) at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:238) at scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:62) at scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:55) Could 20/11/23 16:07:46 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hdfs/DistributedFileSystem at org.apache.spark.sql.execution.datasources.InMemoryFileIndex$.listLeafFiles(InMemoryFileIndex.scala:316) at org.apache.spark.sql.execution.datasources.InMemoryFileIndex$.$anonfun$bulkListLeafFiles$1(InMemoryFileIndex.scala:195) at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:238) at scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:62) at scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:55)¿Cómo cargar un archivo desde el sistema de archivos local sin usar hdfs en Ubuntu?
Se debió a que faltaba el jar de hadoop-client en la última versión: 3.3.
<dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>3.3.0</version> </dependency>