2016-07-11 3 views
0

오프라인 문서에서는 StreamingListener로 처리 시간 값을 얻을 수 있다고 말합니다. Spark Streaming 프로그램의 진행 상황은 수신자 상태 및 처리 시간을 얻을 수있는 StreamingListener 인터페이스를 사용하여 모니터링 할 수도 있습니다. http://spark.apache.org/docs/latest/streaming-programming-guide.html#monitoring-applicationsSpark Streaming : StreamingListener로 처리 시간과 스케줄링 지연을 얻는 방법?

스파크의 메트릭에 대한 정보가 있지만 처리 시간 및 스케줄링 지연이 포함되어 있지 않습니다. http://spark.apache.org/docs/latest/monitoring.html#rest-api

나는 StreamingListener의 소스 코드를 읽었습니다. 그것은이 같은 방법이 포함되어

def printStats() { 
    showMillisDistribution("Total delay: ", _.totalDelay) 
    showMillisDistribution("Processing time: ", _.processingDelay) 
} 

나는 이러한 통계를 얻을 수 있습니다 생각을하지만 난 그것을 실현하지 않았다. 내 연구에 이러한 측정 항목이 필요합니다. 어떻게 얻을 수 있습니까? 대단히 감사합니다.

답변

1

해결책을 찾았습니다.

class MyListener() extends StreamingListener { 
    override def onBatchCompleted(batchStarted: StreamingListenerBatchCompleted) { 
    println("Total delay: " + batchStarted.batchInfo.totalDelay) 
    println("Processing time: " + batchStarted.batchInfo.processingDelay) 
    } 
} 
관련 문제