2017-04-11 5 views
1

실시간 스트리밍 계산을 수행하기 위해 Apache Spark 클러스터를 설정 중이며 일괄 처리 크기, 일괄 처리 시간 등과 같은 다양한 측정 항목을 추적하여 배포 성능을 모니터링하고 싶습니다. 내 Spark Streaming 프로그램은 ScalaSpark Streaming - 일괄 처리 성능 통계 얻기

질문

  1. Spark monitoring REST API 설명 다양한 엔드 포인트를 사용할 목록에 기록됩니다. 그러나 배치 수준 정보를 표시하는 끝점을 찾을 수 없습니다. 응용 프로그램과 같은 다른 당 일괄 자세한 내용은 실행 된 모든 스파크 배치의 목록을 얻을 수있는 방법이 있나요 다음과인가 : 배치 당 이벤트의
    • 처리 시간
    • 일정 지연
    • 종료 상태 : 즉, 배치가 성공적 여부를 처리되었는지 여부를
  2. 이러한 배치 수준 API를 사용할 수없는 경우 스파크 스트리밍 프로그램에 맞춤형 계측 도구를 추가하여 배치 수준 통계 (예 : 크기, 처리 시간, 일정 지연 등)를 얻을 수 있습니다. 사전에

감사합니다, 당신은 1. 운이없는 경우

+0

관련 2.이 답변은 도움이 될 것입니다. http://stackoverflow.com/questions/41980447/in-spark-streaming-is-there-a-way-to-detect-when-a-batch-has-finished/ 41981256 # 41981256 – ImDarrenG

답변

3

, 이것은 In Spark Streaming, is there a way to detect when a batch has finished?

batchCompleted.batchInfo()contains에서 촬영 2 :

ssc.addStreamingListener(new JobListener()); 

// ... 

class JobListener implements StreamingListener { 

    @Override 
    public void onBatchCompleted(StreamingListenerBatchCompleted batchCompleted) { 

     System.out.println("Batch completed, Total delay :" + batchCompleted.batchInfo().totalDelay().get().toString() + " ms"); 

    } 

    /* 

    snipped other methods 

    */ 


} 

에 도움이됩니다

  • numRecords
  • batchTime, processsingStartTime,
  • outputOperationInfos

  • schedulingDelay
  • processingEndTime 바라건대 당신은 당신이 이러한 속성에서 필요한 것을 얻을 수 있습니다.

    +0

    감사합니다 .ImDarrenG !! 이 방법이 효과가 있다면 확실히 나를 위해 일할 것입니다. 코드에서 테스트했으면 대답을 수락합니다. – jithinpt

    +0

    그냥 스칼라를 사용하는 것으로 나타났습니다. 미안하지만 복사/붙여 넣기 예제는 자바입니다.하지만 그 요점은 잘 알 수 있습니다. – ImDarrenG

    +1

    괜찮습니다. 알았다. 감사. – jithinpt

    관련 문제