본문 바로가기
728x90
반응형

분류 전체보기63

스파크란? 스파크 vs 맵리듀스 1. 스파크란? 스파크는 클러스터 환경에서 데이터를 병렬적으로 처리하기 위한 라이브러리 집합이다. 하둡의 맵리듀스와 같은 역할을 하는 프레임워크라고 보면 되는데 다른 점이 몇가지 있다. 그리고 이 다른 점이 많은 사람들이 스파크를 쓰는 이유이다. 1) 스파크는 통합엔진이다. 스파크가 통합엔진이라는 것은 간단하게 말해 아주 다양한 라이브러리를 지원해준다는 뜻이다. 아래 그림을 보면 스파크는 spark core외에도 머신러닝을 위한 MLlib, 그래프 연산을 위한 GraphX 등 다양한 기능을 제공한다. 스파크 이전에는 이런 기능들을 쓰기 위해 각기 다른 프레임워크를 사용해야 했다(하이브, 마홋, ...). 하지만 이 모든 기능을 제공해주는 스파크가 등장하면서 사람들은 스파크 하나로 모든 것을 해결할 수 있.. 2024. 2. 10.
하둡 맵리듀스란? 맵리듀스 동작 방식 1. 맵리듀스란? 하둡의 맵리듀스는 데이터를 병렬로 처리하는 소프트웨어 프레임워크로 하둡의 핵심요소이다. 이전 포스팅에서 언급했듯이 하둡에서는 데이터들이 분산되어 디스크에 저장되어있다. 따라서 이 분산된 데이터에 연산을 할 때 어떻게 할 것인지, 그 방법이 필요한데 맵리듀스는 그에 대한 해답을 제공해준다. 맵리듀스는 분산된 데이터를 처리하는 방법은 쉽게 말해 divide and conquer 방식이다. 분산된 데이터 각각에 연산을 한 다음(맵) 그 결과를 하나로 합치는 것(리듀스)이다. 아래에 맵리듀스 애플리케이션이 어떻게 동작하는지 그림으로 설명되어있다. 여기서 프로그래머의 역할은 맵 합수와 리듀스 함수를 구현하는 것이다. 중간에 분산된 맵의 결과를 소팅하고 합쳐서 리듀스로 보내는 것은 맵리듀스 프레임.. 2024. 2. 9.
하둡 HDFS (Hadoop Distributed File System) 1. HDFS (Hadoop Distributed File System) 하둡에서 제공하는 분산 파일시스템으로 하둡에서 제공하는 여러 파일시스템 중 대표적인 파일시스템이다. 2. HDFS의 특징 1) 아주 큰 파일을 관리할 수 있다. 2) 스트리밍 방식의 데이터 접근을 지원한다. 따라서 응답시간은 느릴 수 있어도 처리량이 많다. 3) 한번 쓴 데이터는 수정할 수 없다. (append는 가능) 4) 장애 복구, 데이터 무결성 등을 지원한다. 3. HDFS 블록 HDFS는 블록 단위로 데이터를 관리한다. 블록 단위의 관리를 통해 서브시스템을 단순하게 유지하고 데이터의 복제(레플리케이션)를 용이하게 한다. HDFS에서 블록의 사이즈는 기본적으로 128MB로 비교적 크다. 블록 사이즈가 큰 이유는 서치타임과 블.. 2024. 2. 9.
하둡 YARN이란? 1. YARN (Yet Another Resource Negotiator)이란? 하둡의 클러스터 자원관리 시스템이다. 클라이언트가 서브밋한 잡에 자원(CPU, RAM 등)을 할당하고 잡을 실행시킨다. 2. YARN의 계층 구조 맵리듀스건 스파크건 하둡 위에서 도는 프로그램은 모두 YARN에 의해 관리된다. 3. YARN의 구조 YARN은 하나의 리소스 매니저와 여러 개의 노드 매니저로 이루어져있다. 리소스 매니저는 보통 HDFS의 네임노드에 있고 노드 매니저는 노드마다 한개씩 있다. 실제로 서브밋된 잡을 실행하고 모니터링 하는 일은 노드 매니저에서 일어난다. 리소스 매니저는 모든 노드 매니저리들을 모니터링하고 자원을 할당해주는 역할을 한다. 4. YARN 애플리케이션 YARN 애플리케이션은 YARN 리소.. 2024. 2. 9.
728x90
반응형