본문 바로가기

spark2

[Apache Spark] 아파치 스파크 RDD란? RDD를 이해하면 아파치 스파크를 90% 이해했다고 한다. 스파크를 계속 사용하면서 알듯 말 듯 RDD를 다시 한번 공부하면서 게시글을 작성해 보려 한다. Spark RDD Resilient Distributed Dataset (RDD) 탄력적인 분산 데이터 셋 Resilient 는 탄력적이라는 뜻이 있다. 데이터를 병렬처리하는 스파크의 일부 노드에서 데이터를 처리하는 중에 문제가 발생하면 문제를 회복 할 수 있다는 것을 뜻한다. 데이터를 병렬 처리 중 어떤 노드에서 문제가 발생해도 데이터를 손실 없이 회복 할 수 있는 이유는 무엇일까? 이 이유를 알기 위해서는 RDD의 특징을 앎으로서 이해 할 수 있다. RDD의 특징 1. 데이터 추상화 스파크는 여러 클러스트에서 데이터를 하나의 파일처럼 다룬다. 어떤.. 2022. 4. 19.
병렬처리와 분산처리 병렬처리란? 데이터를 여러개로 쪼개고 여러 쓰레드에서 각자 task를 적용한다. 각자 만든 결과값을 합치는 과정 분산된 환경에서의 병렬처리? 데이터를 여러개로 쪼개서 여러 노드로 분산한다. 여러 노드에서 각자 독립적으로 task를 적용한다. 각자 만든 결과값을 합친다. but 노드간 분산처리의 경우 노드간 통신같이 신경써야 될 것이 늘어나는데 Spark를 이용하면 분산된 환경에서도 일반적인 병렬 처리를 하듯 코드를 짜는게 가능하다. Spark는 분산된 환경에서 데이터를 병렬 모델로 구현해 추상화 시켜주기 때문이다. = RDD RDD.map() * 노드간 통신에 걸리는 지연시간을 주의하며 코드를 작성해야 한다. 2022. 3. 18.