intellij idea直接コンパイルsparkソースと問題解決

6124 ワード

Intelij IDEAコンパイルsparkソースプロセス
  • はsparkのソースコードの包装で、解凍します.
  • intellijセットアップscala plugin
  • intellij ieda open project機能を使ってソースフォルダを開く
  • その後、ideaは自動的にすべての依存パケットをダウンロードして、ダウンロードしたらbuild->Make Projectがコンパイルできます.
    新しいバージョンのiedaを使用することを推奨します.本機はsbt環境を事前にインストールし、sbtの必要なファイルをsbtのインストール構成を参照してください.http://blog.csdn.net/tanglizhe1105/article/details/50528801 sbt建設intellij ieda工事参照:http://blog.csdn.net/tanglizhe1105/article/details/50528824
    Spark build error 1
    D:\spark-1.6.0\external\flume-sink\src\main\scala\org\apache\spark\streaming\flume\sink\SparkAvroCallbackHandler.scala
    Error:(45, 66) not found: type SparkFlumeProtocol
      val transactionTimeout: Int, val backOffInterval: Int) extends SparkFlumeProtocol with Logging {
                                                                     ^
    Error:(70, 39) not found: type EventBatch
      override def getEventBatch(n: Int): EventBatch = {
                                          ^
    ...
    この問題はflum-sinkに必要な一部のソースファイルideaが自動的にダウンロードされないため、すべてのコンパイルが通過できません.
    解決方法:
    intellij iedaの中で:-Viewを開く->Tool Windows->Maven Projecs-右クリックSpark Project External Flume Sink-Generate Sources and Update Foldersをクリックして、Intellij IDEAは自動的にFlume Sink関連のカバンをダウンロードします.
    そして改めてbuild->Make Project、すべてok!
    This shoud generate source code from sparkflum.avdl.Generate Sources and Update Folders do can resource type SparkFlution not found ise.ソース:http://apache-spark-developers-list.1001551.n3.nabble.com/A-Spark-Compilation-Question-td8402.html
    Spark build error 2
    ここでもう一つの例を挙げます.ファイル不足の例:another type Hveshim not found issue can be soved as follow operation while copiling spark source code on 1.4.1/1.4.0:
    解決方法:
    in Project Settings–>Modules、select「spark-hive-thritervers 2.10」、in「Sources」tab、select「v 0.3.1」node、click「Sources」to mark the node as.the n select「spark-hiveu.clas.」
    Spark build error 3
    このプロセスはしばしば繰り返しコンパイルされます.
    Error:scalac: 
         while compiling: C:\Users\Administrator\IdeaProjects\spark-1.6.0\sql\core\src\main\scala\org\apache\spark\sql\util\QueryExecutionListener.scala
            during phase: jvm
         library version: version 2.10.5
        compiler version: version 2.10.5
      reconstructed args: -nobootcp -deprecation -classpath C:\Program Files\Java\jdk1.8.0_66\jre\lib\charsets.jar;C:\Program 
    ......
    C:\Program Files\Java\jdk1.8.0_66\jre\lib\rt.jar;C:\Users\Administrator\IdeaProjects\spark-1.6.0\sql\core\target\scala-2.10\classes;C:\Users\Administrator\IdeaProjects\spark-1.6.0\core\target\scala-2.10\classes;C:\Users\Administrator\.m2\repository\org\apache\avro\avro-mapred\1.7.7\avro-mapred-1.7.7-hadoop2.jar;
    ......
    C:\Users\Administrator\.m2\repository\org\objenesis\objenesis\1.0\objenesis-1.0.jar;C:\Users\Administrator\.m2\repository\org\spark-project\spark\unused\1.0.0\unused-1.0.0.jar -feature -javabootclasspath ; -unchecked
      last tree to typer: Literal(Constant(org.apache.spark.sql.test.ExamplePoint))
                  symbol: null
       symbol definition: null
                     tpe: Class(classOf[org.apache.spark.sql.test.ExamplePoint])
           symbol owners: 
          context owners: anonymous class withErrorHandling$1 -> package util
    == Enclosing template or block ==
    Template( // val : , tree.tpe=org.apache.spark.sql.util.withErrorHandling$1
      "scala.runtime.AbstractFunction1", "scala.Serializable" // parents
      ValDef(
        private
        "_"
        
        
      )
    ......        ExecutionListenerManager$$anonfun$org$apache$spark$sql$util$ExecutionListenerManager$$withErrorHandling$1.super."" // def (): scala.runtime.AbstractFunction1 in class AbstractFunction1, tree.tpe=()scala.runtime.AbstractFunction1
            Nil
          )
          ()
        )
      )
    )
    == Expanded type of tree ==
    ConstantType(
      value = Constant(org.apache.spark.sql.test.ExamplePoint)
    )
    uncaught exception during compilation: java.lang.AssertionError
    解決策
    Build->Rebuild Projectはこんなに簡単です.
    ここにはSpark Builler Errerの集合がたくさんあります.https://www.mail-archive.com/[email protected]&q=subject:%22 Bulild+error%22&o=newest&f=1