2017-01-09 14 views
-1

ワードカウントプログラムをscalaで実行しているときに、私は例外以下になります。scala sparkのバージョンが一致しません

Exception in thread "main" java.lang.NoSuchMethodError: scala.Predef$.refArrayOps([Ljava/lang/Object;)Lscala/collection/mutable/ArrayOps; 
    at org.apache.spark.util.Utils$.getCallSite(Utils.scala:1406) 

解決のためのグーグル私は、スパークとスカラの間に不一致がある場合、これが起こることを理解できます。私のPAM dependenyはScalaの-SDK-2.11.8何が間違っている

わからないがhere.i異なるバージョンをしようとMavenのリポジトリにかなりの時間を費やしてきた

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>Test</groupId> 
    <artifactId>Test</artifactId> 
    <version>1.0-SNAPSHOT</version> 

    <dependencies> 
     <dependency> 
      <groupId>org.apache.spark</groupId> 
      <artifactId>spark-core_2.11</artifactId> 
      <version>2.1.0</version> 
     </dependency> 

    </dependencies> 

</project> 

とプロジェクト設定でScalaのバージョンであります組み合わせ。私の地元のスパークインストールから

は私がproject.but運に同じScalaのSDKを選択したコマンドscala.util.Properties.versionStringに

を実行して、右Scalaのバージョンを考え出しました。

お手数をおかけしますようお願い申し上げます。

+1

投稿全体をポストします –

+0

質問を更新しました。 – user155489

+0

スパークバージョンはダウンロードしましたか?例えば、バージョン2.0以降、SparkはデフォルトでScala 2.11で構築されています。 Spark 2.0をダウンロードしましたか? –

答えて

0

次は、sparkアプリケーション用のuber jarを作成するための作業用pom.xmlです。グループIDと成果物IDを置き換えて使用します。

mvn clean packageを実行すると、uber(単一)jarファイルが作成されます。

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>com.aravind.spark</groupId> 
    <artifactId>wordcount</artifactId> 
    <version>1.0.0-SNAPSHOT</version> 
    <name>${project.artifactId} ${project.version}</name> 

    <properties> 
     <maven.compiler.source>1.8</maven.compiler.source> 
     <maven.compiler.target>1.8</maven.compiler.target> 
     <encoding>UTF-8</encoding> 
     <spark.core.version>2.0.2</spark.core.version> 
     <spark.sql.version>2.0.2</spark.sql.version> 
     <scala.tools.version>2.11</scala.tools.version> 
     <scala.version>2.11.8</scala.version> 
    </properties> 

    <dependencies> 
     <dependency> 
      <groupId>org.scala-lang</groupId> 
      <artifactId>scala-library</artifactId> 
      <version>${scala.version}</version> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.spark</groupId> 
      <artifactId>spark-core_2.11</artifactId> 
      <version>${spark.core.version}</version> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.spark</groupId> 
      <artifactId>spark-sql_2.11</artifactId> 
      <version>${spark.sql.version}</version> 
      <scope>provided</scope> 
     </dependency> 
    </dependencies> 

    <build> 
     <sourceDirectory>src/main/scala</sourceDirectory> 
     <testSourceDirectory>src/test/scala</testSourceDirectory> 
     <pluginManagement> 
      <plugins> 
       <plugin> 
        <!-- see http://davidb.github.com/scala-maven-plugin --> 
        <groupId>net.alchim31.maven</groupId> 
        <artifactId>scala-maven-plugin</artifactId> 
        <version>3.2.1</version> 
        <executions> 
         <execution> 
          <goals> 
           <goal>compile</goal> 
           <goal>testCompile</goal> 
          </goals> 
          <configuration> 
           <args> 
            <arg>-dependencyfile</arg> 
            <arg>${project.build.directory}/.scala_dependencies</arg> 
           </args> 
          </configuration> 
         </execution> 
        </executions> 
       </plugin> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-surefire-plugin</artifactId> 
        <version>2.19.1</version> 
        <configuration> 
         <useFile>false</useFile> 
         <disableXmlReport>true</disableXmlReport> 
         <!-- If you have classpath issue like NoDefClassError,... --> 
         <!-- useManifestOnlyJar>false</useManifestOnlyJar --> 
         <includes> 
          <include>**/*Test.*</include> 
          <include>**/*Suite.*</include> 
         </includes> 
        </configuration> 
       </plugin> 
       <plugin> 
        <artifactId>maven-assembly-plugin</artifactId> 
        <version>2.4.1</version> 
        <configuration> 
         <descriptorRefs> 
          <descriptorRef>jar-with-dependencies</descriptorRef> 
         </descriptorRefs> 
        </configuration> 
        <executions> 
         <execution> 
          <id>make-assembly</id> 
          <phase>package</phase> 
          <goals> 
           <goal>single</goal> 
          </goals> 
         </execution> 
        </executions> 
       </plugin> 
       <plugin> 
        <artifactId>maven-compiler-plugin</artifactId> 
        <configuration> 
         <source>${maven.compiler.source}</source> 
         <target>${maven.compiler.target}</target> 
        </configuration> 
       </plugin> 
      </plugins> 
     </pluginManagement> 

     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-surefire-plugin</artifactId> 
      </plugin> 
      <plugin> 
       <groupId>net.alchim31.maven</groupId> 
       <artifactId>scala-maven-plugin</artifactId> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-shade-plugin</artifactId> 
       <version>2.4.3</version> 
       <executions> 
        <execution> 
         <phase>package</phase> 
         <goals> 
          <goal>shade</goal> 
         </goals> 
         <configuration> 
          <transformers> 
           <!--transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> 
            <mainClass>your main job pipeline class</mainClass> 
           </transformer--> 
          </transformers> 
          <createDependencyReducedPom>false</createDependencyReducedPom> 
          <finalName>${project.artifactId}-${project.version}</finalName> 
          <artifactSet> 
           <excludes> 
            <exclude>org.scala-lang:scala-library</exclude> 
            <exclude>org.apache.spark:spark-core_2.10</exclude> 
            <exclude>log4j:log4j</exclude> 
            <exclude>org.slf4j:slf4j-api</exclude> 
            <exclude>ml-apis:xml-apis</exclude> 
            <exclude>org.apache.httpcomponents:httpclient</exclude> 
            <exclude>org.apache.httpcomponents:httpcore</exclude> 
            <exclude>commons-codec:commons-codec</exclude> 
            <exclude>org.apache.ant:ant</exclude> 
            <exclude>org.apache.ant:ant-junit</exclude> 
            <exclude>org.codehaus.jettison</exclude> 
            <exclude>stax:stax-api</exclude> 
            <exclude>commons-configuration:commons-configuration</exclude> 
            <exclude>commons-digester:commons-digester</exclude> 
            <exclude>commons-beanutils:*</exclude> 
            <exclude>com.google.code.findbugs:jsr305</exclude> 
           </excludes> 
          </artifactSet> 
          <filters> 
           <filter> 
            <artifact>*:*</artifact> 
            <excludes> 
             <exclude>META-INF/*.SF</exclude> 
             <exclude>META-INF/*.DSA</exclude> 
             <exclude>META-INF/*.RSA</exclude> 
            </excludes> 
           </filter> 
          </filters> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 
    </build> 

</project> 
+0

スレッド "main"で例外が発生していますjava.lang.NoClassDefFoundError:org/apache/spark/SparkContext – user155489

0

私のすべての経験はマイクロソフトでスタックされています。私はちょうどJava技術を探求し始めました。私が何か問題を間違って尋ねた場合、質問をマークした人が私とコミュニティに助けになりました。なぜそれがマークされているのか説明してください。

私は自分のプロジェクトをプロジェクト構造>モジュール>依存関係

screen shot

が、これは私を助けてみましたproblem.Thanksすべてを解決しました。

関連する問題