하둡이란 무엇인가?
Hadoop 이 뭘까
- 대용량 데이터 저장/처리 위한 오픈소스
- 엄청난 데이터들을 하나의 비싼 장비가 아닌, 200~500 만원대의 저렴한 컴퓨터들을 여러대 사용해서 처리하는 것
- GFS 의 영향 받음
하둡이 내세운 새로운 관점
- 과거에는 크기가 얼마던, 메모리 등으로 옮겨와서 한번에 처리 하는 식이었음 -> Computation 이 중요
- 하둡은 옮기지않고, 데이터가 저장된 곳 에서 프로그램이 처리하는 방식임
- (분산해서) 저장 담당 = HDFS
- 데이터가 있는 곳에서 처리 되는 것 = MapReduce
- 이 둘을 Hadoop Core 라고 함
Hadoop Core
- 하둡 클러스터는 수백~수천개의 서버로 이루어져있음
- Hadoop Core 는 아래 세 가지의 중요한 컴포넌트를 기반으로 함
- Storage
- HDFS (분산 파일 시스템)
- 파일들은 하둡 클러스터에 분산 저장됨
- 프로세싱
- 분산된 데이터를 처리함
- MapReduce
- 프레임워크
- Mapper 로 각각 분산되어있는 데이터를 처리 후, Reducer 에서 모아 연산을 처리함
- 분산처리에 필요한 불필요한 작업들을 자동으로 처리함으로써, 개발자들은 신경쓰지 않아도 됨
- Spark
- MapReduce 작업을 디스크 기반이 아닌, 메모리 기반 (In-Memory) 으로 옮겨 고속화
- 리소스 관리
- YARN
- Hadoop Cluster 를 구성하는 모든 서버의 CPU, 메모리 및 스토리지 용량을 파악함
- 제출된 Hadoop Application 이 최적으로 수행할 수 있게 리소스 관리 할당
하둡의 빅데이터 처리 과정

데이터 추출 및 스토리지
- HDFS 를 사용하여, 다양한 소스로부터 생성된 다양한 형식의 데이터를 하둡 클러스터로 모음
- 데이터의 형식: RDBMS, Log 데이터, JSON 파일, 텍스트 파일, 이미지 파일 등등...
- 이 때 Scoop, Flip 등을 이용하여 보다 쉽게 추출할 수 있음
데이터 스토리지
- HDFS (Hadoop Distributed File System)
- Hadoop core 의 컴포넌트 중 하나로, 메인 Storage 를 담당
- 크고 경제적인 분산 스토리지
- 64MB, 128MB 라는 대용량 블록 사용
- 최소 3개의 복사본 사용
- 성능 향상 및 안정성
- Apache HBase (Apache 하둡 데이터베이스)
- Hadoop 에서 실행되는 NoSQL 데이터베이스
- 데이터의 사이즈에 따라 확장 가능한 (Scalable) 시스템
- 테이블 하나가 수 천 개의 컬럼을 가질 수 있음
- (?) Hadoop Core > Storage 에 왜 안속해있는겨? Apache 껀데
데이터 프로세싱 (MapReduce)
- 오리지널 Hadoop 프레임워크로, HDFS 만 지원함
- 기본적으로 Java 로 구현하나, Python 등도 가능
- Map + Reduce
- Map
- 흩어져 있는 데이터를 Key, Value 의 형태로 연관성 있는 데이터로 묶는 작업
- Reduce
- Filtering 과 Sorting 을 거쳐 데이터를 추출, Map 화환 작업 중 중복 데이터를 제거하고 원하는 데이터를 추출하는 작업
- 데이터를 분산 해서 처리 하는 분산 프로그래밍 모델
- 분산 처리 기술과 관련된 프레임워크를 의미함
데이터 프로세싱 (Apache Spark)
- 대용량 데이터 처리를 지원하는 프로세싱 엔진
- 대부분의 FileSystem 를 지원함 (cf. Hadoop MR)
- In-Memory 기반 분산 고성능 클러스터 플랫폼
- 하둡의 MR 작업을 디스크 기반이 아닌, 메모리 기반 (In-Memory) 으로 옮겨 고속화
- '하둡을 메모리 기반으로 옮긴 것이다' 라고 이해하면 쉬움
데이터 분석: Apache Hive
- 쿼리 엔진이라고 부르기도 함
- 빅 데이터 환경에서 SQL과 유사한 방식으로 데이터를 쉽게 조회하고 분석할 수 있게 해주기 때문
- HiveQL (SQL과 유사) 로 쿼리를 작성하면 MapReduce 작업으로 변환함
- 따라서 사용자는 복잡한 Java MapReduce 프로그램을 직접 작성하지 않고도, 빅 데이터를 쉽게 처리할 수 있음
데이터 검색: Cloudera Search
- 하둡에서 사용되는 텍스트 기반의 데이터 검색 엔진
- 주로 Cloudera의 Hadoop 사용자를 대상으로 하며, 빅 데이터 세트에서 실시간으로 검색하고 분석하는 데 특화
데이터 검색: Apache Solr
- Apache Lucene을 기반으로 한 오픈 소스 검색 플랫폼
- 다양한 환경에서 사용될 수 있고, 다른 데이터 소스와의 통합을 위해 다양한 커뮤니티 리소스와 플러그인을 제공
- ex. Hue 를 통해 웹 인터페이스 제공
- 일반적인 검색 애플리케이션에 널리 사용되며, 웹사이트, 기업 내 검색 솔루션 등 다양한 목적으로 활용
- Hadoop Core > Storage 에 왜 안속해있는겨? Apache 껀데
- Spark 는 보다 범용적인 용도 로 다양한 곳에서 사용되기 때문인듯함
- 하둡의 클러스터란?
- 하둡에서 '클러스터'는 여러 대의 컴퓨터(또는 노드)가 네트워크를 통해 연결되어 하나의 기능을 수행하도록 구성된 전체 시스템을 의미
- 하둡의 클러스터는 여러개인가? 아니면 하나인가?
- 하둡 시스템은 보통 하나의 큰 클러스터로 구성되는 것이 일반적
출처
후기
하완가의 MapReduce 를 딱 폈는데요, 졸음이 쏟아지더라구요
아 이건 내 수준이 아니라서 조는구나 하는 느낌이 와서 대학강의를 들었습니다
듣다보니 뭔가 학교다닐때 들었던거같은데 ㅎ..; 하는 생각이 얼핏 나면서 그때도 졸았던 기억이 났습니다 ㅎ..
아무튼 과제없이 대학강의를 들으니까 마음이 참 편했습니다
다음에는 Hadoop Cluster 로 찾아뵙겠슴다 :ㅇ
하둡이란 무엇인가?
Hadoop 이 뭘까
하둡이 내세운 새로운 관점
Hadoop Core
하둡의 빅데이터 처리 과정
데이터 추출 및 스토리지
데이터 스토리지
데이터 프로세싱 (MapReduce)
데이터 프로세싱 (Apache Spark)
데이터 분석: Apache Hive
데이터 검색: Cloudera Search
데이터 검색: Apache Solr
추가 질문 /w GPT4
출처
후기
하완가의 MapReduce 를 딱 폈는데요, 졸음이 쏟아지더라구요
아 이건 내 수준이 아니라서 조는구나 하는 느낌이 와서 대학강의를 들었습니다
듣다보니 뭔가 학교다닐때 들었던거같은데 ㅎ..; 하는 생각이 얼핏 나면서 그때도 졸았던 기억이 났습니다 ㅎ..
아무튼 과제없이 대학강의를 들으니까 마음이 참 편했습니다
다음에는 Hadoop Cluster 로 찾아뵙겠슴다 :ㅇ