728x90
공통점:
셋 다 bigdata처리를 지원하는 framework,솔루션 이다.
차이점:
spark | hadoop | hive | |
역할 | 1.분산형 데이터 컬렉션 상부에서 동작하는 프로세싱 툴(메모리 기반) |
1. 분산형 data infrastructure 2. 대량의 데이터 컬렉션을 사용 3.서 버 클러스터 내 복수의 노드들에 분산시키는 역할 4. 맞춤 제작한 하드웨어를 구매하고 유지하는데 들어가는 사용자의 비용 부담을 줄여준다 |
1.하이브는 하둡 에코시스템 중에서 데이터를 모델링하고 프로세싱하는 경우 가장 많이 사용하는 데이터 웨어하우징용 솔루션입니다. 2.RDB의 데이터베이스, 테이블과 같은 형태로 HDFS에 저장된 데이터의 구조를 정의하는 방법을 제공하며, 이 데이터를 대상으로 SQL과 유사한 HiveQL 쿼리를 이용하여 데이터를 조회하는 방법을 제공합니다. (Hive는 대용량 데이터를 질의하고 그 결과를 생성하는 쿼리 엔진) (Apache Hive를 구성하는 모듈에서 Metadata store는 Hive QL에서 사용하는 데이터베이스 테이블과 HDFS 상의 파일을 서로 연결해주는 역할) |
관계 | 1.자체 파일관리 시스템이 있지는 않지만 하둡없이 이용가능하다.(hdfs에 저장도 가능하다) 2.클라우드기반 데이터 플랫폼과 융합이 가능하다.(S3를 저장 매체로) 3. mapreduce, tez와 별개로 자체 engine을 갖고 있다. |
1.하둡 분산형 파일 시스템(HDFS)-스토리지 컴포넌트 + 맵리듀스-프로세싱 툴인 스파크가 필수적인 요소는 아님 2.mapreduce engine,tez engine사용한다. |
1.hadoop을 기반으로 동작하는 sql query engine, Apache Hive가 SQL 형식의 쿼리 작성 기법을 사용하기 때문에 많은 사람들이 Hive를 선호하는 경향 2.engine으로는 mapreduce, tez, spark를 사용할 수 있다. |
성능 | 전체 데이터셋을 한번에 처리(속도가 빠르다) work flow: 1.클러스터로부터 데이터 read 2.필요한 모든 analytics 운영을 수행하는, 그리고 결과물을 클러스터에 입력하는 전과정이 동시적으로 진행 |
하둡 맵리듀스(단계별 처리 방식) work flow: 1.클러스터로부터 데이터 read 2.동작 실행 3.클러스터에 결과 기록 4.다시 업데이트된 데이터를 클러스터로부터 read 5.다음 동작을 실행 후 결과를 클러스터에 입력 |
읽어 들이는 양의 쿼리를 작성해야 원하는 성능이 나온다. work flow:
|
필요 영역 | 1.센서가 발생시키는 스트리밍 데이터 처리 2.머신러닝 알고리즘과 같이 애플리케이션이 복합적이 운영 필요 3.실시간 마케팅 켐페인 4.온라인 상품 추천 5.사이버 보안 분석 6.기계 로그 모니터링 7.하드웨어가 좋아짐에 따라 웬만한 것은 spark로 작업을 대체하는 추세. |
1.데이터 운영 및 리포팅 요구 대부분이 정적인 것 2.배치 모드 프로세싱을 기다릴 수 있을 때 |
1.Apache Pig 및 Maxmpduce, HDFS와 같이 경로를 기반으로 입출력 파일을 지정하지않고, SQL 형태의 쿼리를 작성하여 파일의 경로 기준으로 작업을 하지 않고 테이블의 스키마명을 기준으로 질의 쿼리를 실행해야 할 때.(Hive QL) 2. 안정적으로 배치성(batch) 작업을 실행시켜야할때 |
고장 회복 방식 | 탄력적 분산형 데이터셋(RDD)라는 형태로 data object를 data cluster 전반에 분산시킴으로써 탄력성 보장 | 매 운영 이후 결과를 디스크에 기록, 시스템 사고나 고장 상황에서 매우 유용 | HIVE 의 컨셉 자체가 느리게 , 고장없이 처리에 가까워 memory기반인 Spark에 비해 안정적인 편 |
- 메모리와 디스크의 속도차이는 엄청나고, 하드웨어의 성능이 점점 좋아짐에 따라 spark가 빅데이터 처리 프레임워크로써 많이 활용되고 있습니다.
*아직 완벽한 내용이아니라 지속적인 수정 중에 있습니다.(2021-02-10)
*2021-11-11 수정
*2021-12-17 수정
728x90
댓글