2016-07-12 2 views
0

스파크 응용 프로그램을 실행하는 것과 관련하여 기본적인 질문이 있습니다.스파크 응용 프로그램을 데몬으로 실행하는 방법

HDFS에있는 쿼리 데이터를 요청하는 Java 클라이언트가 있습니다.

내가 얻은 요청은 HTTP를 통한 REST API이며 요청을 해석하고 Spark SQL 쿼리를 작성하여 응답을 클라이언트에 반환해야합니다.

요청을 기다리는 데몬으로 스파크 애플리케이션을 만들 수 있으며 사전 인스턴스화 된 SQL 컨텍스트를 사용하여 쿼리를 실행할 수 있습니까?

답변

0

Spark로 계산을 수행하기 위해 무한 루프에서 실행되는 스레드를 가질 수 있습니다.

while (true) { 
    request = incomingQueue.poll() 
    // Process the request with Spark 
    val result = ... 
    outgoingQueue.put(result)  
} 

그런 다음 REST 요청을 처리하는 스레드에서, 당신은 incomingQueue에 요청을 넣고 outgoingQueue의 결과를 기다립니다.

// Create the request from the REST call 
val request = ... 
incompingQueue.put(request) 
val result = outgoingQueue.poll() 
return result 
1

나는이 사용하는 경우에 본 최고의 옵션은 명명 된 응용 프로그램으로 배포 드라이버 코드, 데몬 응용 프로그램이 될 것 Spark Job Server입니다.

이 옵션은 지속성과 같은 훨씬 더 많은 기능을 제공합니다.

작업 서버를 사용하면 사용자 자신의 데몬을 코딩 할 필요가 없으며 클라이언트 응용 프로그램이 직접 REST 요청을 보낼 수 있습니다. 그러면 클라이언트 응용 프로그램이 직접 스파크 제출 작업을 실행합니다.

관련 문제