2017-05-11 4 views
1

Mein Code sollte auf einige Dateien zugreifen, die in S3 gespeichert sind (dieser Code funktioniert auf einem Computer, während er auf dem anderen fehlschlägt; im Grunde schlägt er fehl, wenn er läuft wird vor Ort (nicht auf dem Cluster) von IntelliJ IDEA) ausgeführt:Verursacht von: java.lang.ClassNotFoundException: org.jets3t.service.ServiceException

sc.hadoopConfiguration.set("fs.s3n.impl", "org.apache.hadoop.fs.s3native.NativeS3FileSystem") 
sc.hadoopConfiguration.set("fs.s3n.awsAccessKeyId", "xxx") 
sc.hadoopConfiguration.set("fs.s3n.awsSecretAccessKey", "xxx") 

val sqlContext = new SQLContext(sc) 

var df = sqlContext.read.json("s3n://myPath/*.json") 

ich erhalte die folgende Fehlermeldung an der Linie var df = sqlContext.read.json("s3n://myPath/*.json"):

Caused by: java.lang.ClassNotFoundException: org.jets3t.service.ServiceException 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 

ich ähnliche Themen in Bezug auf dieses Thema gelesen und es wurde erwähnt, dass Im Fall der Verwendung von Spark 1.6.2 ist die Lösungzu verwenden. In meinem Fall hat es das Problem nicht gelöst.

Mein pom.xml (ein Auszug daraus):

<properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 

     <java.version>1.8</java.version> 
     <scala.version>2.10.6</scala.version> 
     <spark.version>1.6.2</spark.version> 
     <jackson.version>2.8.3</jackson.version> 
    </properties> 

<dependencies> 
     <dependency> 
      <groupId>org.scala-lang</groupId> 
      <artifactId>scala-library</artifactId> 
      <version>${scala.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.spark</groupId> 
      <artifactId>spark-streaming_2.10</artifactId> 
      <!--<scope>provided</scope>--> 
      <version>${spark.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.spark</groupId> 
      <artifactId>spark-streaming-kafka_2.10</artifactId> 
      <version>${spark.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.spark</groupId> 
      <artifactId>spark-sql_2.10</artifactId> 
      <!--<scope>provided</scope>--> 
      <version>${spark.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.spark</groupId> 
      <artifactId>spark-mllib_2.10</artifactId> 
      <version>${spark.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>com.fasterxml.jackson.module</groupId> 
      <artifactId>jackson-module-scala_2.10</artifactId> 
      <version>${jackson.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>com.fasterxml.jackson.core</groupId> 
      <artifactId>jackson-databind</artifactId> 
      <version>${jackson.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>com.fasterxml.jackson.core</groupId> 
      <artifactId>jackson-annotations</artifactId> 
      <version>${jackson.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>com.fasterxml.jackson.core</groupId> 
      <artifactId>jackson-core</artifactId> 
      <version>${jackson.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>com.lambdaworks</groupId> 
      <artifactId>jacks_2.10</artifactId> 
      <version>2.3.3</version> 
     </dependency> 
     <dependency> 
      <groupId>com.typesafe</groupId> 
      <artifactId>config</artifactId> 
      <version>1.3.1</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.hadoop</groupId> 
      <artifactId>hadoop-aws</artifactId> 
      <version>2.6.0</version> 
     </dependency> 
     <dependency> 
      <groupId>com.amazonaws</groupId> 
      <artifactId>aws-java-sdk-s3</artifactId> 
      <version>1.11.53</version> 
     </dependency> 
     <dependency> 
      <groupId>net.debasishg</groupId> 
      <artifactId>redisclient_2.10</artifactId> 
      <version>3.3</version> 
     </dependency> 
    </dependencies> 

Antwort

1

folgende in dem dependency sollte das Problem

<dependency> 
    <groupId>org.apache.hadoop</groupId> 
    <artifactId>hadoop-client</artifactId> 
    <version>2.6.0</version> 
</dependency> 

lösen Hinzufügen Ich hoffe, das

+1

In der Tat hilft habe ich nur löste es durch Hinzufügen von ' net.java.dev.jets3t jets3t 0.9.4 '. Ihr Ansatz funktioniert jedoch auch. – Dinosaurius

+0

Großartig das zu hören. Vielen Dank –

Verwandte Themen