티스토리 뷰

소개


안녕하세요:) 지마켓에서 데이터로 여러 가지 흥미로운 개발을 하고 있는 한한주입니다.
이번에 소개해 드릴 내용은 Databricks Community Edition에 대한 기본적인 설정과 사용법에 대한 내용입니다.

Databricks Community Edition에서 제공하는 클라우드 환경을 사용하면 간단하게 Spark 작업환경을 만들 수 있어 Spark를 공부하고자 하거나 간단하게 테스트를 할 때 매우 유용합니다. (사실 제가 유용하게 사용했습니다^^;; 독자분들도 유용하게 사용하시기를 바라며..)

이번 블로그에서는 Databricks Community Edition을 사용하여 무료로 간단히 Spark환경을 만들어 보도록 하겠습니다.

그럼 Start!

Databricks


들어가기 앞서 먼저 Databricks는 무엇일까요?
간단히 위키백과를 찾아보면 Databricks는 Apache Spark를 개발한 개발자들이 만든 미국 Software 회사입니다. 특징으로는 Spark를 위한 Web-Based Plaform으로 자동으로 Cluster Management와 IPython-Style Notebook을 제공해 줍니다. 글만 보아도 왠지 Spark 환경을 쉽게 만들어 줄 것 같지 않나요?ㅎㅎ

Databricks Community Edition 가입


  1. 실습환경을 위해 우선 Databricks Community Edition 가입이 필요합니다.
  • Company는 임의의 회사를 적어도 무관합니다.
  • Company Email 역시 회사 이메일이 아닌 본인 이메일을 적어도 무관합니다. (저는 Gmail 계정을 사용했습니다 ㅎㅎ)
  1. 다음 화면에서 for business가 아닌 Community Edition의 GET STARTED를 선택해 줍니다.

  • Community Edition의 경우 위 설명과 같이 15GB Single Cluster에 No Worker Nodes 등 제한사항이 있으니 참고해 주세요.
  1. 메일 인증을 해 줍니다.

Databricks Spark 클러스터 신규 생성하기


Databricks의 경우 가입만 해도 Web-Plaform상에서 Notebook을 지원해 줍니다. 그럼 Notebook을 생성해 볼까요?

  1. Create Notebook을 클릭해 봅시다.
  2. 이때 위 사진과 같이 Cluster를 선택해야 하는데요. 현재는 생성된 Spark 클러스터가 없어 선택이 불가능한 상황입니다. 그래도 일단 필수 값인 Notebook Name을 적어주고 Create를 해 봅시다!

  1. Notebook생성이 되었습니다. Network모양의 Select Box를 클릭한 뒤 Create Cluster를 클릭하면 Cluster를 만들 수 있습니다.

  1. 필수 값을 채운 후 Create Cluster를 클릭해 주면 드디어 Spark Cluster가 생성됩니다. 이제 Spark를 Databricks가 제공하는 Notebook환경에서 자유롭게 사용이 가능합니다. 신이 납니다 ㅎㅎ

참고

  • Databricks Runtime Version을 통해 Spark/Scala Version을 선택할 수 있습니다.
    • Databricks Spark에서 제공하는 ML 라이브러리 실행을 위한 GPU Version도 사용이 가능합니다.
  • Instance의 경우 15 GB Free Memory가 주어집니다.
  • Availability Zone Tab을 통해 사용 가능한 Zone을 선택 할 수 있습니다.
  • Spark Tab을 통해 Spark Config 설정이 가능합니다.

Databricks File Upload 및 Spark Test


Spark 환경도 완성이 되었으니 잘 작동이 되는지 확인을 해 볼까요?

  1. 먼저, File Upload를 해 봅시다! Upload를 위해 좌측 메뉴의 Data를 클릭 후 Create Table을 선택해 줍니다.

  1. 아래와 같이 DBFS에 File을 Upload 할 수 있는 창이 보이는데요. 원하시는 폴더를 선택한 후 File Upload를 진행해 주시면 됩니다.

DBFS란?

  • Databricks에서 제공하는 File System입니다. 사용자는 DBFS를 통해 간단하게 File을 올려놓거나 사용할 수 있습니다.

  1. 자, 이제 File Upload를 했으니 Upload 한 File이 제대로 올라갔는지 확인을 해 봅시다!
    Notebook을 실행해 주고, Network모양의 Select Box를 선택 후 만들어준 Cluster를 선택해 줍니다. 저의경우 test라는 이름으로 만들어 주었네요.

  1. Cluster를 선택 해 주었다면 이제 간단한 Spark Coding을 이용해 Upload 된 File을 가져와 봅시다.
from pyspark.sql import functions as F
from pyspark.sql import types as T

path = '/FileStore/tables/activity-data'
static = spark.read.json(path)
display(static.limit(15))

마무리


지금까지 Databricks Community Edition을 이용해 간단한 Spark환경을 만들어 보았습니다. Spark 기반의 ETL 서비스를 사용하기 위해 테스트를 하거나 간단하게 Spark 환경을 만들어 공부하기 위해 사용하기 좋은 방법이라 생각합니다. 독자분들도 유용하게 사용하셨으면 좋겠습니다 :)

Reference

댓글