• 뉴스_배너

Service

Spark 스트리밍 데이터 정리 메커니즘
(I) DStream과 RDD
아시다시피 Spark Streaming 계산은 Spark Core를 기반으로 하며 Spark Core의 핵심은 RDD이므로 Spark Streaming도 RDD와 관련이 있어야 합니다.그러나 Spark Streaming은 사용자가 RDD를 직접 사용할 수 있도록 허용하지 않고 DStream 개념 집합을 추상화합니다. DStream과 RDD는 포괄적인 관계이므로 Java의 장식 패턴으로 이해할 수 있습니다. 즉, DStream은 RDD의 향상된 기능입니다. 동작은 RDD와 유사합니다.
DStream과 RDD에는 모두 몇 가지 조건이 있습니다.
(1) map, ReduceByKey 등과 같은 유사한 변환 작업이 있지만 Window, mapWithStated 등과 같은 일부 고유한 작업도 있습니다.
(2) 모두 foreachRDD, count 등과 같은 작업 작업이 있습니다.
프로그래밍 모델은 일관성이 있습니다.
(B) 스파크 스트리밍에 DStream 도입
DStream에는 여러 클래스가 포함되어 있습니다.
(1) DirectKafkaInputStream 등의 특정 InputDStream과 같은 데이터 소스 클래스.
(2) 변환 클래스, 일반적으로 MappedDStream, ShuffledDStream
(3) 일반적으로 ForEachDStream과 같은 출력 클래스
위에서부터 데이터의 시작(입력)부터 끝까지(출력)까지 DStream 시스템이 수행하는데, 이는 일반적으로 사용자가 RDD를 직접 생성하고 조작할 수 없다는 것을 의미합니다. RDD의 수명주기를 담당합니다.
즉, 스파크 스트리밍에는자동 정리기능.
(iii) Spark Streaming에서 RDD 생성 과정
Spark Streaming에서 RDD의 수명 흐름은 대략 다음과 같습니다.
(1) InputDStream에서는 수신된 데이터를 KafkaRDD를 생성하는 DirectKafkaInputStream과 같은 RDD로 변환합니다.
(2) 그런 다음 MappedDStream 및 기타 데이터 변환을 통해 이번에는 변환을 위한 맵 메소드에 해당하는 RDD를 직접 호출합니다.
(3) 출력 클래스 작업에서는 RDD가 노출된 경우에만 사용자가 해당 저장, 기타 계산 및 기타 작업을 수행하도록 할 수 있습니다.