2016-06-07 2 views
1

의 사용 우리는 더 큰 배치와 변화 DStream 생성 창을 사용할 수있는 슬라이딩 :스파크 스트리밍 - 창 별개의

streamIDs.window(Duration(1000)).foreachRDD(rdd => println(rdd.distinct().count())) 

것은 아니라도 슬라이드 재생 시간과 이동 창에 동일을 할 수있는 방법이 있습니까 매개 변수?

답변

1

창에서 중복 된 것을 필터링하려고합니까? 이 경우 당신은 키가 원래의 요소의 복사본이며, 값이 중요하지 않은 키 - 값 쌍으로 RDD를 매핑하여 창을 통해 뚜렷한를 에뮬레이션 할 수 있습니다, null 말 :

streamIDs 
    .mapToPair(lambda s : (s, null)) 
    .reduceByKeyAndWindow(lambda t1, t2 : t1, Duration(1000)) 
    .map(lambda (x, y) : x) 

이 의지 각 슬라이딩 윈도우에서 고유 한 값의 DStream을 만듭니다.

streamIDs 
    .mapToPair(lambda s : (s, 1)) 
    .reduceByKeyAndWindow(lambda t1, t2 : t1 + t2, Duration(1000)) 

이 값 카운트 쌍, 예를 들어,의 d 스트림을 생성합니다 :

이 경우 당신은 또한 다음을 수행, 각 창에 각 값의 수를 원하는 ('A', 3), ('B', 5)...

관련 문제