Zeppelin 사용
  • PDF

Zeppelin 사용

  • PDF

네이버 클라우드 플랫폼의 Cloud Hadoop는 클러스터 타입이 Spark인 경우에만 Zeppelin Notebook이 설치되어 있습니다.
이 가이드에서는 Zeppelin Notebook UI에 접속하는 방법과 간단한 예제 실행 방법을 설명합니다.
Zeppelin에 대한 자세한 내용은 Apache Zeppelin 페이지를 참고해 주십시오.

Zeppelin Notebook UI 접속

콘솔의 Web UI 목록을 통한 연결

Cloud Hadoop 콘솔에서 Application별 보기를 통해 Zeppelin Notebook UI에 접속할 수 있습니다. 자세한 내용은 Application별 보기를 참조해 주십시오.

웹 브라우저로 직접 접속

웹 브라우저를 실행한 후 주소란에 다음과 같이 입력해 접속해 주십시오. 클러스터에 할당된 Public 도메인 주소를 사용합니다.

http://{도메인 주소}:9996

Ambari 웹 UI를 통한 접속 방법

Ambari 웹 UI를 통한 접속 방법은 다음과 같습니다.

  1. Ambari UI에 접속해 주십시오.
    • Ambari UI 접속에 대한 자세한 내용은 Ambari UI 접속을 참고해 주십시오.
  2. Ambari UI 화면에서 Zeppelin Notebook > Quick Links > Zeppelin UI를 클릭해 주십시오.
  3. 브라우저에 로그인 페이지가 표시되면 클러스터 생성 시 설정한 관리자 계정 및 패스워드를 입력하여 로그인해 주십시오.
  • 접속에 성공하면 Zeppelin 페이지의 우측 상단 [login] 버튼 옆에 초록색 점이 표시됩니다.

Zeppelin Notebook 시작

Zeppelin Notebook을 생성하여 데이터를 입력하고 결과를 그래프로 확인할 수 있습니다.
이 가이드의 내용은 Zeppelin Notebook에 기본적으로 제공되는 "Zeppelin Tutorial (Basic Features)" Notebook을 참고하였습니다.

Notebook 생성

Notebook을 생성하는 방법은 다음과 같습니다.

  1. Zeppelin 상단의 Notebook > Create new note를 클릭해 주십시오.
    cloudhadoop-use-zeppelin1_ko
  2. 노트 이름 및 정보를 설정한 후 [Create Note] 버튼을 클릭해 주십시오.
    • Default Interpreter는 노트를 생성한 후에도 변경할 수 있습니다.
      cloudhadoop-use-zeppelin2_ko

테이블에 데이터를 로드

다음은 bank.csv의 데이터를 bank 테이블에 로드하는 샘플 코드입니다.

%spark.spark
import org.apache.commons.io.IOUtils
import java.net.URL
import java.nio.charset.Charset

// Zeppelin creates and injects sc (SparkContext) and sqlContext (HiveContext or SqlContext)
// So you don't need create them manually

// load bank data
val bankText = sc.parallelize(
    IOUtils.toString(
        new URL("https://s3.amazonaws.com/apache-zeppelin/tutorial/bank/bank.csv"),
        Charset.forName("utf8")).split("\n"))

case class Bank(age: Integer, job: String, marital: String, education: String, balance: Integer)

val bank = bankText.map(s => s.split(";")).filter(s => s(0) != "\"age\"").map(
    s => Bank(s(0).toInt,
            s(1).replaceAll("\"", ""),
            s(2).replaceAll("\"", ""),
            s(3).replaceAll("\"", ""),
            s(5).replaceAll("\"", "").toInt
        )
).toDF()
bank.registerTempTable("bank")

코드 실행 및 결과 조회

Zeppelin Notebook 코드를 실행 및 결과를 확인하는 방법은 다음과 같습니다.

  1. Shift + Enter 키를 누르거나 cloudhadoop-zeppelin-run_ko을 클릭해 코드를 실행해 주십시오.

    • FINISHED 상태와 Took 30 sec 문구로 코드가 정상적으로 수행된 것을 확인할 수 있습니다.
      chadoop-4-4-009_ko.png
  2. 새 단락에 테이블의 데이터를 조회하는 Spark SQL 구문을 작성한 후 Shift + Enter 키를 누르거나 cloudhadoop-zeppelin-run_ko을 클릭해 코드를 실행해 주십시오.

    • 조회 결과 화면이 표시됩니다. 그래프 버튼을 이용해 SQL 결과를 다양한 종류의 그래프로 확인할 수 있습니다.
    %spark.sql
    select age, count(1) value
    from bank
    where age < 30
    group by age
    order by age
    

    chadoop-4-4-010_ko.png

Zeppelin Notebook 백업

Zeppelin Notebook은 클러스터 마스터 노드의 1번 서버에 저장됩니다. 따라서 클러스터 삭제 시 Notebook도 함께 삭제됩니다.
동일한 Notebook을 다른 클러스터에서 사용하기 위해서는 작업 수행을 완료한 후 Notebook을 내보내야 합니다. Notebook 백업은 Notebook 단위로 저장합니다.

Zeppelin Notebook 백업하는 방법은 다음과 같습니다.

  1. 화면 상단의 cloudhadoop-zeppelin-download_ko을 클릭해 주십시오.
  2. 로컬 PC에 파일명과 경로를 정한 후 저장해 주십시오.
    • 내보낸 파일은 JSON 형식으로 저장됩니다.

이 글이 도움이 되었나요?