2015-10-23 3 views
5

IntelliJの:14.1.4輸入スパークソースコード、エラーを構築:見つかりません:タイプSparkFlumeProtocolとEventBatch

スパーク:1.5リリースのソースコード

私はスパークのソースコードをインポートしていますがIntellJに入力し、Spark websiteの手順に従います。

プロジェクトのビルドとコンパイル時に、以下のエラーが表示されます。私は周りにグーグルして "Sparkプロジェクトの外部Flumeシンク"のMavenツールバーの "ソースと更新フォルダを生成"にsuggested here in spark user listを試しましたが、それでも同じエラーがあります。

他のすべてのクラスが正常に解決されているため、解決の問題だとはっきりしています。私はIntelliJを正しく使用していないのでしょうか?何か提案してください?どうもありがとうございました。

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

答えて

12

私は問題を解決してきた、そしてそれは「事業外部水路シンクスパーク」ことが判明し、デフォルトの設定でスパークのソースコードをインポートするときにを除外しています。

何でした:

  1. ファイル - フォルダのツリー表示で>ソース
  2. 、当初- >プロジェクト構造 - >モジュール - > "火花ストリーミング水路-sink_2.10" "target"フォルダは除外されますが、 "SparkFlumeProtocol"と "EventBatch"クラスはこのフォルダにコンパイルされます
  3. "target"フォルダを "Sources"に設定し、 "scala-2.10"を除いて "target"の下のすべてを "Excluded"のままにします。添付の​​スクリーンショットを参照してください。

このようにして、コンパイルクラスが組み込まれ、プロジェクトの再ビルド後にクラスを正しく解決できます。

enter image description here

---更新6月〜8から2016 --------

またはこのモジュールのより具体的には、全体のパス

タイプに注意してください。色、それはパッケージ名に影響を与えます

package org.apache.spark.streaming.flume.sink; 

enter image description here

+0

これは問題を完全に解決します。ありがとうございました! –

+0

注:アドバイス[こちら](http://apache-spark-developers-list.1001551.n3.nabble.com/Intellij)に従って、ツリー内に「src_managed」が表示される前に 'sbt avro:generate'を実行しなければなりませんでした。 -Spark-Source-Compilation-tp12168p12196.html) –

関連する問題