IntelliJ 내부에서 실행중인 스칼라 스파크 스트리밍 응용 프로그램이 있습니다. 내가 로컬 [2]를 상대로 달리면 잘 돌아갑니다. 내가 촉발 할 수있는 마스터를 설정 한 경우 : // masterip :Spark 독립형 응용 프로그램 및 종속성 스트리밍
java.lang.ClassNotFoundException: RmqReceiver
내가 RmqReceiver라는 같은 프로젝트에서 구현되는 사용자 정의 수신기를 가지고 있음을 추가해야합니다 : 포트, 그때 나는 다음과 같은 예외를 얻을. 이것은 내 앱 코드입니다.
import akka.actor.{Props, ActorSystem}
import org.apache.spark.streaming.{Seconds, StreamingContext}
import org.apache.spark.{SparkContext, SparkConf}
object Streamer {
def main(args:Array[String]): Unit ={
val conf = new SparkConf(true).setMaster("spark://192.168.40.2:7077").setAppName("Streamer")
val sc = new SparkContext(conf)
val ssc = new StreamingContext(sc, Seconds(2))
val messages = ssc.receiverStream(new RmqReceiver(...))
messages.print()
ssc.start()
ssc.awaitTermination()
}
}
RmqReceiver 클래스는 Streamer와 동일한 스칼라 폴더에 있습니다. 의존성에 대해 --jars를 사용하여 spark-submit을 사용하면이 작업이 가능할 것이라는 점을 이해합니다. 응용 프로그램 내부에서이 작업을 수행 할 수있는 방법이 있습니까?
감사합니다. 도움이됩니다. sbt 테스트 단계 비트를 확장 할 수 있습니까? 이는 빌드 단계에서 항아리를 만들고 테스트 단계에서이를 사용한다는 것을 의미합니까? 감사. – ashic
@ashic 블로그 게시물을 작성하여 독립 실행 형 클러스터에서 스파크 테스트를 실행하는 방법 : http://eugenezhulenev.com/blog/2014/10/18/run-tests-in-standalone-spark-cluster/ –
awesome .. .감사 :) – ashic