본문 바로가기
SW/Data Engineering (Spark)

1장. 스파크 소개

by 라꾸스떼(YR) 2020. 12. 8.
반응형

빅데이터 : 크기(Volume), 다양성(Variety), 속도(Velocity). 가변성(Variability), 정확성(Veracity), 복잡성(Complexity), 시인성(Visibility) ...

 

데이터 프로세스 : 수집 → 저장 및 처리 (CRUD, Create Read Update Delete) → 분석 및 가공

- 수집 : 카프카(Kafka) ...

- 저장 및 처리 : 하둡(Hadoop), 스파크(Spark) ...

 

- YARN : CPU와 메모리 등 컴퓨팅 자원 관리를 전담하는 리소스 관리 시스템

- HDFS(Hadoop File System)의 기초가 된 “The Google File System”(2003), Map Reduce(2004)

- 맵리듀스 프레임워크 : 데이터 처리 프레임워크. 데이터를 여러 개의 맵 프로세스와 리듀서 프로세스로 나눠서 처리. 맵 프로세스는 여러 데이터 노드에 분산 저장된 데이터를 각 서버에서 병렬로 나누어 처리하며, 리듀서는 그러한 맵 프로세스들의 결과를 조합해 최종 결과를 만들어 냄. 네트워크를 통한 데이터 이동을 최소화하기 위해 데이터가 있는 서버에서 프로세스를 구동.(데이터에 대한 지역성 Locality)

 

- Hadoop : 분산 환경의 병렬처리 프레임워크로서 크게 보면 분산 파일시스템인 HDFS와 데이터 처리를 위한 맵리듀스 프레임워크로 구성

  기본적인 동작 방법 : 분석할 데이터를 HDFS에 저장하고 HDFS 상에서 맵리듀스 프로그램을 이용해 데이터 처리를 수행.

  HDFS는 하나의 네임노드와 여러 개의 데이터 노드로 구성. 하나의 네임노드가 나머지 데이터 노드를 관리하는 형태로 동작.

데이터를 저장할 때 전체 데이터를 블록이라고 하는 일정한 크기로 나눠서 여러 데이터 노드에 분산해서 저장. 이때 각 블록들이 어느 데이터 노드에 저장되어 있는지에 대한 메타정보를 네임노드에 기록. 맵리듀스 잡을 실행할 때는 거꾸로 네임노드로부터 메타정보를 읽어서 처리할 데이터의 위치를 확인하고 분산처리를 수행.

 

맵리듀스 잡의 제어는 네임노드에서 구동되는 잡 스케쥴러태스크 스케쥴러라는 프로세스가 처리. 기본적으로 하나의 클러스터에서 한 개의 맵리듀스 잡만 구동했지만 YARN이라는 자원 시스템에서 전담하면서 문제점 개선.

스파크는 하둡과는 달리 메모리를 이용한 데이터 저장 방식을 제공.

 

 

 

출처 : 빅데이터 분석을 위한 스파크2 프로그래밍

 

스파크2 프로그래밍 - 교보문고

하둡으로 대표되던 빅데이터 처리 기술은 빅데이터와 머신러닝, 딥러닝의 붐을 타고 믿을 수 없을 만큼 빠른 속도로 발전해가고 있습니다. 작년 봄 이 책의 초판이 출시되던 해에 스파크는 이미

www.kyobobook.co.kr

 

반응형

'SW > Data Engineering (Spark)' 카테고리의 다른 글

1.1. RDD(Resilient Distributed Dataset)  (0) 2020.12.08

댓글