Spark 작업을 REST API로 실행하고 Spark 용 스칼라를 사용하고 싶습니다. 나는 스프링 프레임 워크와 함께 혼합 된 Java & 스칼라 프로젝트를 가지고있다. 나는 SparkContext를 생성하고 REST API에 의해 어떤 일을하는 Scala 메소드를 호출 할 수있다. 로컬이 아닌 마스터 리모컨을 설정할 때 문제가 발생합니다.Spring RESTful 서비스에서 스파크 작업 실행
val conf = new SparkConf().setAppName("App").setMaster("local")
val sc = new SparkContext(conf)
괜찮지 만,
val conf = new SparkConf().setAppName("App").setMaster(" spark://10.122.221.164:7077")
val sc = new SparkContext(conf)
는 java.lang.ClassNotFoundException
됩니다. 지금까지 찾을 수
솔루션은 지방 항아리를 만들고 conf.setJars(...)
을, 또는 ProcessBuilder
같은 것을 통해 spark-submit
스크립트를 사용하고 있습니다.
내 현재 설정에는 Tomcat 등에서 실행하기 위해 war
파일에 압축 된 Spark Scala 코드가 포함 된 Spring 프로젝트 만 있으므로 뚱뚱보가 없습니다. Spring 프로젝트와 각기 다른 Scala 애플리케이션을 fat-jar로 묶고 싶지는 않습니다. 간단하고 합리적인 아키텍처를 어떻게 내놓을 수 있습니까?
왜 Maven을 사용하고 pom.xml에 종속성을 추가하지 않습니까? 나는 봄과 불꽃을 함께 사용했다. 시도해보고 알려줘. – Dip
@Dip 이미 Maven을 사용하고 있습니다. 나는 팻 항아리를 만들기 위해'mvn package'를 사용할 수 있습니다,하지만 저는 왜이 Spring 프로젝트와 Spark 드라이버 앱을 분리해야하는지 이해하지 못합니다. – groove