빅데이터 분석 플랫폼, 분석도구, 개발환경 정리 (무료 툴, 프로그램)

빅데이터 분석을 위해 하둡이나 스파크와 같은 플랫폼, 데이터 분석 도구인 Anaconda, R언어 그리고 개발환경인 Colab, Jupyter Notebook이 유용합니다. 각각의 빅데이터 분석 플랫폼, 분석도구 그리고 개발환경의 특징 및 다운로드 방법에 대해서 정리해보겠습니다. 

빅데이터 분석 플랫폼

빅데이터의 분석을 위해 필요한 기본 플랫폼에는 하둡(에코시스템)과 스파크가 있습니다. 현업에서 많이 사용하는 만큼 데이터 엔지니어를 채용 시 이 두 플랫폼의 활용 경험을 묻는 경우가 많습니다.

하둡 (Hadoop)

하둡은 HDFS 분산파일 시스템과 대용량 데이터의 병렬 컴퓨팅을 지원하는 맵리듀스 코어 모듈로 구성됩니다. 그리고 이 외에 빅데이터 분석에 필요한 다양한 프레임워크 등을 포함한 환경이 하둡 에코시스템 입니다. (아래 참고)

빅데이터 분석 플랫폼 하둡 에코시스템 구성요소
하둡 에코시스템 구성요소

위 그림이 하둡 에코시스템을 구성하는 다양한 Framework를 나타낸 도표입니다. 이에 대한 자세한 설명은 내용이 길어지므로 이전 글 하둡 구성요소 및 에코시스템을 참고 바랍니다.

스파크 (Spark)

스파크는 사실 하둡 에코시스템의 일부로서 초기 코어 모듈인 맵리듀스의 약점을 보완하기 위해 개발된 프레임워크입니다.

빅데이터 분석 플랫폼 맵리듀스와 스파크 구성도
맵리듀스와 스파크 구성도

위의 그림과 같이 맵리듀스와 Apache Spark가 동등 레벨에 존재하는 것을 알 수 있으며, 상위영역에 Streaming, SQL 영역까지 Spark가 확대 적용되어 있습니다.

맵리듀스 단점Spark 특징
설계 특성상 배치성 통계 작업만 가능하여 실시간 처리가 불가능한 한계점이 있다.맵리듀스의 단점인 Map 결과가 다 나오지 않아도 스트리밍 방식으로 실시간 처리가 가능한 프레임워크.

스파크가 하둡의 맵리듀스의 단점을 보완하기도 하지만 그렇다고 하둡을 버리고 스파크로 갈아타는 것은 아닙니다. 왜냐하면 스파크 자체가 하둡 환경에서 구동이 되도록 설계되었기에 위와 같이 서로 공존하며 사용이 가능합니다.

분석도구

R 언어

 R 언어는 전통적으로 데이터 과학자나 학술 분야 연구에서 많이 사용하는 통계분석 도구입니다. GPL 라이선스 기반의 오픈소스 프로그램으로, 데이터 마이닝, 빅데이터 프로세싱, 기계학습 등의 분야에 활용할 수 있습니다.

하지만 일반인이 접근하기에는 별도의 언어를 배워야 하는 부담과 프로그래밍 언어적으로 비표준적이고 비효율적이라는 단점이 있어 일반적으로 널리 사용되고 있지는 않습니다.

Anaconda

R 언어가 통계 분야에 특화된 언어라면 Anaconda는 범용적인 Python을 기반으로 다양한 데이터 분석, 가시화, 머신러닝 라이브러리의 활용이 가능한 강력한 패키지입니다. 사실 최근에는 ‘데이터 분석을 위한 기본 필수 패키지’라해도 과언이 아닙니다.

Anaconda는 파이썬 기반이란 점에서 일반인이 배우기 매우 쉽고, 다양한 패키지를 관리해준다는 면에서 편의성도 좋습니다. 주로 사용하는 데이터 분석 라이브러리는 다음과 같습니다.

  • NumPy (넘파이): 배열, matrix, 수치 연산을 위한 라이브러리
  • Pandas: 표 형식의 데이터(Dataframe) 처리 및 데이터 클렌징 등에 활용
  • matplotlib: 분석 데이터 결과의 시각화 라이브러리 (다양한 표, 도표, 그래프 데이터를 출력가능)
  • SciPy: 과학 컴퓨팅을 위한 수학 라이브러리 집합

머신러닝

추가로 머신러닝을 위해 Tensorflow, PyTorch, keras 등의 프레임워크가 있습니다. 이 패키지들은 Anaconda pip 유틸리티를 통해 쉽게 설치가 가능합니다. 또한 영상처리를 위한 opencv 도 지원합니다.

가상화

다양한 패키지를 구성하면 패키지별 의존성과 필요버전이 다양하여 환경에 따라 독립적인 구축이 가능한 가상화를 지원합니다.

개발환경

빅데이터 분석 및 머신러닝 학습을 위한 개발용도를 가정하고 도움이 될만한 개발환경을 설명하겠습다. 이 IDE 환경은 모두 무료로 사용가능합니다.

Visual Code

간단히 Anaconda 패키지를 이용해 python 기반 빅데이터 분석도구를 구축한다면 마이크로소프트의 Visual Code를 사용하는 것을 추천드립니다. 이는 개발자들이 가장 많이 사용하는 IDE 중에 하나로 알려져있습니다.

Visual Studio Code 홈페이지에서 무료로 다운로드가 가능하며, 인스톨 후 필요한 패키지를 추가로 설치할 수 있습니다.(윈도, 리눅스, Mac 지원)

Jupyter Notebook

앞서 설명해 드린 Anaconda를 설치하면 기본적으로 함께 설치되는 웹기반 IDE 입니다. 아래 예제와 같이 웹 브라우저에서 python 코드를 한줄씩 실행하여 바로 결과값을 얻을 수 있는 장점이 있습니다.

jupyter notebook 개발환경
jupyter notebook 개발환경

데이터 분석 특징상 원본 데이터를 불러오고 처리한 후 matplot을 통해 확인하는 과정이 반복적으로 이루어지는데, jupyter를 이용하면 이런 분석과정이 직관적이어서 매우 편리합니다

Colab 머신러닝 IDE

구글에서 서비스하고 있는 파이썬 기반의 머신러닝 온라인 개발환경입니다. 구글 ID가 있으면 누구나 무료로 사용할 수 있습니다. 또한 무료로 제공되는 15GB 구글드라이브와 연동되어 데이터나 소스코드를 관리할 수 있습니다. 

구글 Colab 실행화면
구글 Colab 실행화면

위의 실행화면과 같이 웹 브라우저로 Jupyter Notebook과 상당히 유사한 환경을 제공합니다. 하지만 여기에 추가로 머신러닝 학습에 필요한 GPU 리소스를 할당받아 사용할 수 있는 장점이 있습니다.


이상으로 빅데이터 분석 플랫폼과 분석도구 및 무료 개발환경에 대해서 정리해보았습니다.

Leave a Comment