병렬처리란?
데이터를 여러개로 쪼개고 여러 쓰레드에서 각자 task를 적용한다.
각자 만든 결과값을 합치는 과정
분산된 환경에서의 병렬처리?
데이터를 여러개로 쪼개서 여러 노드로 분산한다.
여러 노드에서 각자 독립적으로 task를 적용한다.
각자 만든 결과값을 합친다.
but 노드간 분산처리의 경우 노드간 통신같이 신경써야 될 것이 늘어나는데 Spark를 이용하면 분산된 환경에서도 일반적인 병렬 처리를 하듯 코드를 짜는게 가능하다.
Spark는 분산된 환경에서 데이터를 병렬 모델로 구현해 추상화 시켜주기 때문이다.
= RDD
RDD.map(<task>)
* 노드간 통신에 걸리는 지연시간을 주의하며 코드를 작성해야 한다.
'Development > Data Engineering' 카테고리의 다른 글
[Apache Spark] 스파크의 구조와 실행흐름 이해하기 (0) | 2022.03.30 |
---|---|
분산처리의 문제점 (0) | 2022.03.23 |
[Apache Spark] 아파치 스파크 배경, 그리고 이해 (0) | 2022.03.22 |
[Apache Kafka] 아파치 카프카란 (0) | 2022.01.05 |
데이터 파이프라인의 흐름 (0) | 2021.12.29 |
댓글