ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • DataEngineer :: 하둡(Hadoop)과 아파치 스파크(Spark)
    Computer Science/etc 2021. 6. 8. 15:03
    728x90

    하둡(Hadoop)

     

     

     

    1. 

    대용량 데이터를 분산 처리할 수 있는 자바 기반의 오픈소스 프레임워크

     

    2.

    • Job을 작은 단위로 분할하고, 이를 클러스터의 모든 노드로 매핑한다.(map)
    • 각 노드는 job을 처리한 중간 결과를 생성한다.

     

    분산 저장 기술인 HDFS와, 분산 처리 기술인 맵리듀스(MapReduce)를 장점으로 꼽는다.

     

    3. 맵리듀스의 워크플로우

    • 클러스터에서 데이터 읽기 -> 동작 실행 -> 클러스터에 결과 기록 -> 업데이트 된 데이터 내용 읽기 -> 다음 동작 실행 -> 클러스터에 결과 기록

     


     

    아파치 스파크(Aparch Spark)

     

    1.

    빅데이터 워크로드에 주로 사용되는 분산처리 시스템

     

    2.

    빠른 성능을 위해 인 메모리 캐싱과 최적화 된 실행을 사용하고 일반 배치처리, 스트리밍 분석, 머신러닝, 그래프 데이터 베이스 및 임시 쿼리를 지원한다.

     

    3.

    기존의 하둡을 통해 끌어오는 데이터들은 시간 소요가 크기 때문에, 실시간으로 분석해야 하는 업무에서는 어려운 부분이 있어 새롭게 개발된 것이다.

     

    4. 스파크의 워크플로우

    • 클러스터에서 데이터 읽기 -> 분석 수행 및 결과값 클러스터 입력 동작 등 전 과정이 동시에 진행

     

     

     


     

    하둡과 스파크의 역할

      하둡(Hadoop) 스파크(Spark)
    공통점 빅데이터 처리 플랫폼, 프레임워크
    차이점 분산 데이터 인프라 스트럭처로서, 대량의 데이터를 서버 클러스터 내 복수의 노드들에 분산시키는 역할을 함 하둡과 같은 분산형 데이터 컬렉션 상부에서 동작하는 데이터 프로세싱 툴이며, 분산형 스토리지로서의 역할은 수행하지 않음

     

     

     

    1.

    스파크의 속도는 맵리듀스(하둡)의 속도보다 월등히 빠르다.

     

    2.

    하지만, 일반적인 데이터 운영 및 리포팅 상황에서 대부분은 정적인 성향을 띄고, 배치 모드의 프로세싱을 기다릴 수 있다면, 굳이 스파크를 쓰지 않고 맵리듀스 프로세싱 방식을 선택해도 무방하다.

     

    3.

    스파크의 힘이 발휘되는 상황으로는, 공장과 같이 센서에서 실시간으로 수집되는 스트리밍 데이터를 처리하거나, 머신러닝 알고리즘 등 복합적인 운영이 필요로 할 경우이다.

     

    4.

    하둡의 경우, 프로세싱 절차마다의 기록을 디스크에 기록하여 failover하는 방식이다.

     

    5.

    스파크의 경우, 탄력적 분산형 데이터넷(RDD)을 활용하여, 메모리 내 또는 디스크에 저장할 수 있으며 사고나 고장이 발생하더라도 완벽하게 복구할 수 있는 탄력성을 보장한다.

     

    728x90

    'Computer Science > etc' 카테고리의 다른 글

    IaaS, PaaS, SaaS  (0) 2021.09.02
    DataEngineer :: Amazon EMR  (0) 2021.06.08
    DataEngineer :: Data Lake  (0) 2021.06.08
    DataEngineer :: ETL vs ELT  (0) 2021.06.08
    CS : 웹호스팅/서버호스팅/클라우드/베어메탈  (0) 2021.04.12

    댓글

kxmjhwn@gmail.com