2017-05-11 26 views
1

私のコードはS3に保存されたファイルにアクセスする必要があります(このコードはあるマシンで正常に動作しますが、他のマシンでは失敗します。 )のIntelliJ IDEAから(ないクラスタ上で)ローカルに実行されます:原因: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") 

私はライン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) 

私はこの問題に関して同様のスレッドを読んで、それがいることを言及されましたSpark 1.6.2を使用する場合、解決策はを使用することです。私の場合、それは問題を解決していません。

マイpom.xml(それから抜粋):

<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> 

答えて

1

dependencyに以下を追加するには、問題に

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

を解決する必要があり、私はこれは私がちょうどきた事実

+1

を役に立てば幸い' net.java.dev.jets3tを追加して解決しました jets3t 0.9.4 '。しかし、あなたのアプローチも機能します。 – Dinosaurius

+0

それを聞いてうれしいです。ありがとう –

関連する問題