익명 사용자
로그인하지 않음
토론
기여
계정 만들기
로그인
IT 위키
검색
아파치 스파크 DStream transform
편집하기
IT 위키
이름공간
문서
토론
더 보기
더 보기
문서 행위
읽기
편집
원본 편집
역사
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
DStream의 transform 연산은 각 배치 간격마다 생성되는 RDD에 대해 '''직접적인 RDD 연산을 적용'''할 수 있게 해주는 고급 연산이다. DStream API의 고수준 추상화(map, reduceByKey 등)로는 처리할 수 없는 복잡한 연산이나 외부 RDD와의 연산을 가능하게 한다. ==개념== *transform 연산은 DStream 내부의 RDD를 직접 받아서 처리할 수 있는 유일한 API다 *즉, 각 배치 시점마다 다음과 같은 방식으로 동작: **rdd → func(rdd) 를 수행한 결과로 새로운 RDD를 생성 *외부의 정적 RDD와 조인하거나, [[Spark SQL]]처럼 DStream 이외의 기능을 결합할 때 유용함 ==문법== <pre> new_dstream = original_dstream.transform(lambda rdd: some_operation(rdd)) </pre> ==예시 1: 외부 RDD와의 조인== <pre> # 정적 사용자 정보 RDD user_info = sc.parallelize([("user1", "Alice"), ("user2", "Bob")]) # DStream: (user_id, event) events = ssc.socketTextStream("localhost", 9999) \ .map(lambda line: line.split(",")) \ .map(lambda fields: (fields[0], fields[1])) # 조인 연산 joined = events.transform(lambda rdd: rdd.join(user_info)) </pre> ==예시 2: DStream 내 RDD를 동적으로 필터링== <pre> def dynamic_filter(rdd): blacklist = ["error", "fail", "unauthorized"] return rdd.filter(lambda word: word not in blacklist) filtered = word_dstream.transform(dynamic_filter) </pre> ==특징== *고급 사용자 정의 로직 삽입 가능 *정적 RDD 또는 외부 DB, 캐시 등과 통합 가능 *map, flatMap 등 기본 연산보다 자유도 높음 ==주의사항== *transform 함수 내부에서는 반드시 '''RDD 연산만 사용'''해야 하며, DStream 연산은 사용 불가 *외부 리소스에 접근할 경우 성능 및 안정성을 고려해 캐싱, 브로드캐스트 등의 전략 필요 *디버깅이 어렵기 때문에 체크포인팅과 로그 추적이 중요함 ==같이 보기== *[[아파치 스파크 DStream]] *[[RDD]] *[[Spark SQL]] *[[체크포인팅]] *[[카프카]] *[[스트럭처드 스트리밍]] ==참고 문헌== *https://spark.apache.org/docs/latest/streaming-programming-guide.html#transform *Spark: The Definitive Guide (O'Reilly) [[분류:분산 컴퓨팅]] [[분류:아파치 스파크]]
요약:
IT 위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는
IT 위키:저작권
문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다.
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
둘러보기
둘러보기
대문
최근 바뀜
광고
위키 도구
위키 도구
특수 문서 목록
문서 도구
문서 도구
사용자 문서 도구
더 보기
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
문서 기록