spark Streaming 의 transform 디 테 일

2726 단어 spark
val socketLineDStream: ReceiverInputDStream[String] = streamingContext.socketTextStream('linux1', 8888)
// TODO Driver     
//   val a = 1  Driver      
//      DStream   Transformations(  )  
socketLineDStream.map({
     
    case x => {
     
        // TODO Executor   n (n Executor )
    }
}
)

//     ,   DStream transform    
socketLineDStream.transform({
     
    case rdd => {
     
        // TODO Driver   m (m      )
        rdd.map({
     
            case x => {
     
                //TODO Executor   n (n Executor )
            }
        })
    }
}
)

주의:
  • transform 의 주석 에 있 는 m 는 디 테 일 한 부분 입 니 다. 이 곳 에서 Driver 에서 실행 되 는 코드 는 주기 적 으로 (Spark Streaming 의 데이터 수집 주기) 변화 할 수 있 습 니 다. 즉, 모든 데이터 주기 transform 이 한 번 씩 걸 어 갈 수 있 습 니 다.용도 중 하 나 는 블랙리스트 업데이트 (예 를 들 어 악성 댓 글 을 올 린 사용자 의 업데이트)
  • 왜 DStream. map 의 코드 실행 은 Executor 입 니까?개인 적 인 이 해 는 DStream 이 주기 (일괄) 마다 RDD 의 패키지 에 해당 하기 때문에 RDD. map () 안의 코드 는 Executor 단
  • 에서 실 행 됩 니 다.

    좋은 웹페이지 즐겨찾기