끄적거림

[Databricks] 01. pySpark 시작하기 본문

Python/PySpark

[Databricks] 01. pySpark 시작하기

Signing 2020. 4. 2. 13:52
728x90
반응형

pySpark를 공부하고자 VM에 우분투까지 설치했지만, 뭔가 혼자서 책으로 공부하기에 왠지 모를 커다란 장벽이 있는 느낌이었다. 그러다가, edwith에서 제공하는 pySpark 강의가 있기에 그것을 튜토리얼 삼아 공부하기로 했다.

 

지금부터 시작할 내용은 edwith에서 제공하는 pySpark 강의를 그대로 따라하면서 공부해 나가는 과정을 담을 것이다.

edwith: pySpark를 활용한 데이터분석

 


 

1. pySpark 환경 선택(Databricks)

기본적으로 본 강의에서는 pySpark를 실행할 수 있는 환경을 Databricks라는 클라우드 플랫폼을 선택했다. Databricks는 유로 클라우드 서비스이지만 무료버전에서도 충분히 사용할 수 있다는 설명이 적혀져 있었다.(test성으로...)

Databricks에 접속하여 회원가입을 진행하고 나면 다음과 같은 클라우드 서비스 화면을 조회할 수 있다.

 

기본적으로 클라우드는 크게 3가지로 분류할 수 있는데,

  • SAAS(Software As a Service) : 애플리케이션, 툴로써 제공되는 서비스를 의미한다. 사용자들이 바로 서비스를 이용할 수 있는 장점이 있다.(e.g. 스프레드시트 in Google)
  • PAAS(Platform As a Service) : 약간의 하드웨어를 추가하여 개발할 환경을 제공하는 서비스이다. 개발자에 의한 약간의 개발이 필요하며, 커스텀하게 개발하여 원하는 방식대로 클라우드를 가져다 사용할 수 있다.(e.g. GCP, GMP in Google)
  • IAAS(Infrastructure as a Service) : 그냥 아무것도 안깔려 있는 컴퓨터라고 생각하면 된다. 기본 OS부터 하나하나 개발환경을 구축해 나가면서 흔히들 서버라고 불리는 영역이다.

이 중에서 Databricks는 PAAS라고 할 수 있겠다.

 

 

 

 

2. 가상 Cluster 생성

Cluster라는 개념보다 먼저 Cluster 구조에 대해서 간단히 알고 넘어가자.

Cluster 구조라는 것은 분산 병렬 처리를 위한 구조로써, 간단히 말해 여러 컴퓨터를 사용한다고 생각하면 된다. 가장 대표적인 예가 2016년에 알려진 "알파고"이다. 1000대가 넘는 컴퓨터를 연결하여 대용량의 계산과 데이터를 처리하는 구조를 사용했다.

 여기에서 가장 중요한 개념이 Master 노드Slave(Worker) 노드라는 개념이다. 쉽게 생각하면, Master 노드는 모든 것을 총괄하는 운영/행정 관점에서의 컴퓨터라고 생각하면 되고, Slave 노드는 Master노드가 시킨 일을 수행하는 주체라고 생각하면 된다.

 

가상 클러스터 생성 화면 가이드

1) 좌측 메뉴 바 Cluster - Create Cluster 

 

 

 

가상 클라우드 스펙
생성 후 클러스터 모습

2) 사진과 같이 클러스터 이름과 스펙을 입력해주었다. 현재 시점(2020.04.02)에서 가장 괜찮은 버전을 알아서 제공해준다.

- [New] This Rudtime version supports only Python 3. → 파이썬 언어에 맞춰 런타임 버전을 지원

- 최대 15GB를 지원

- Community Edition user라면, 2시간 이후에 자동 만료

 

 

 

 

 

3. 가상 Cluster에 library 설치하기

1) 만들었던 클러스터를 클릭하면 다음과 같은 화면을 볼 수 있다. 여기서 위의 Libraries - Install Library 클릭

2) Maven - Search Packages

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형

'Python > PySpark' 카테고리의 다른 글

공부 1  (0) 2020.03.19
01. 우분투로 Anaconda 설치하기  (0) 2020.01.30
Comments