728x90
반응형
1. 가상 머신 (VM)
가상 머신은 "물리적인 컴퓨터"를 "가상"으로 만든 것으로, 컴퓨터 안에 또 다른 컴퓨터가 있는 것처럼 동작합니다.
"VMWare"나 "VirtualBox" 같은 프로그램을 사용해서, 여러 대의 가상 컴퓨터를 하나의 물리적 컴퓨터에서 실행할 수 있습니다.
2. Cloudera와 CDH
Cloudera는 "빅데이터 분석"과 관련된 도구들을 제공하는 회사입니다. 주로 "Hadoop"을 기반으로 한 도구들을 개발하고 배포합니다.
CDH(Cloudera Distribution, including Hadoop)는 Cloudera에서 제공하는 Hadoop과 관련된 도구들이 모여 있는 패키지입니다. Hadoop, Spark, Hive, HBase 등 여러 도구들이 포함되어 있습니다.
3. Hadoop의 기본 개념
Hadoop은 "대규모 데이터"를 처리하는 "오픈소스 프레임워크"입니다.
[ Hadoop의 두 가지 중요한 요소 ]
1. HDFS (Hadoop Distributed File System) : 데이터를 "여러 대의 서버"에 "나눠서" 저장하는 방식입니다. 데이터가 많을 때 하나의 컴퓨터에 저장하는 것보다 여러 대의 서버에 나눠서 저장하면 효율적이고 빠르게 데이터에 접근할 수 있습니다.
2. MapReduce: "데이터를 처리"하는 방식인데, 큰 데이터를 "여러 개의 작은 작업"으로 나누어 "분산 처리"합니다.
4. Spark
"Spark"는 "Hadoop"보다 더 빠르고(메모리 기반으로 데이터 처리), 실시간 데이터를 처리할 수 있는 도구입니다.
주로 "실시간 데이터 처리"와 "빠른 데이터 분석"에 사용됩니다.
[ Spark에서 자주 사용하는 개념 ]
RDD (Resilient Distributed Dataset) : 데이터를 "분산 처리"하기 위한 "기본 데이터 구조"입니다.
DataFrame : "RDD"를 더 쉽게 다룰 수 있는 구조입니다. "테이블 형식"으로 데이터를 다룰 수 있습니다.
5. HDFS (Hadoop Distributed File System)
HDFS는"Hadoop의 파일 시스템"으로, 데이터를 "여러 대의 컴퓨터"에 나눠서 저장합니다.
데이터는 "블록 단위"로 나눠 저장되고, 각 블록은 여러 대의 서버에 "복제"됩니다.
블록 복제: 데이터를 한 번만 저장하는 대신 여러 서버에 복제해서 저장함으로써, 하나의 서버가 고장 나도 다른 서버에서 데이터를 찾을 수 있습니다.
7. MapReduce
MapReduce는 "대용량 데이터 처리"를 분산 환경에서 가능하게 만드는 프로그래밍 모델입니다.
(1)Map 단계에서는 데이터를 나누어 처리하고
(2)Reduce 단계에서는 그 결과를 합쳐서 최종 결과를 도출합니다.
예를 들어, 단어 빈도수 계산을 한다면,
Map 단계에서 각 단어를 분리하고, 그 단어의 출현 횟수를 카운트합니다.
Reduce 단계에서 모든 단어의 출현 횟수를 합산합니다.