본문 바로가기

spark2

MapReduce 하둡에 내재된 기능으로 JAVA로 구현되어있으며, 빅 데이터를 효율적으로 처리한다. 이러한 MapReduce를 간단히만 살펴보자. 하는 일 간단히 얘기하면 데이터를 Mapping하고, 데이터를 Reduce한다. 당연하게도 Mapping은 Mapper가 하게 되고, Reduce는 Reducer가 하게 된다. Mapper: 입력 데이터를 특정 로직에 따라서 변형을 가하여 구조화 출력한다. Reducer: 데이터를 집계하는 역할을 한다. 즉, Mapper는 데이터를 변환하고, Reducer는 데이터를 집계하며, 그 결과 데이터는 Key - Value 형태로 나온다. Key는 집계하고자 하는 항목이며, Value는 그 값이다. 과정 MapReduce의 전체적인 과정은 위와 같다. 입력 데이터가 Mapper에 들.. 2024. 3. 6.
RDD (Resilient Distributed Dataset) RDD는 Spark에서 데이터를 처리하고 저장하기 위한 핵심 객체로 Resilient Distributed Dataset. 직역해보면, 탄력적 분산 데이터 세트를 의미한다. RDD의 주요 특성 불변성: 한번 생성되면 변경될 수 없으며 Transformation을 취하게 되면 기존 RDD가 변하는 것이 아닌 새로운 RDD가 생성된다. 이러한 불변성 덕분에 아래 특성들을 얻을 수 있다. 분산 처리: 불변성 덕분에 데이터의 일관성 문제 걱정 없이 데이터를 여러 노드에 분산시켜 저장하여 병렬로 처리할 수 있다. 내결함성: 데이터 변형 작업의 기록이 저장되며 이를 통해 노드 장애가 발생해도 데이터를 복구할 수 있다. RDD의 생성 크게 2가지 방식을 사용한다. 외부 데이터 소스 로드: 파일 시스템(HDFS, S3.. 2024. 3. 6.