Zeppelin 사용
    • PDF

    Zeppelin 사용

    • PDF

    기사 요약

    VPC 환경에서 이용 가능합니다.

    네이버 클라우드 플랫폼 Cloud Hadoop에는 Zeppelin Notebook이 설치되어 있습니다.
    이 가이드에서는 Zeppelin Notebook UI에 접속하는 방법과 간단한 예제 실행 방법을 설명합니다.
    Zeppelin에 대한 자세한 내용은 Apache Zeppelin 공식 문서를 참고해 주십시오.

    Zeppelin Notebook UI 접속

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

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

    웹 브라우저로 직접 접속

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

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

    Ambari Web UI를 통한 접속 방법

    Ambari Web 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://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/bank.csv"),
             Charset.forName("utf8")).split("\n"))
    
    
     case class Bank(age: Integer, job: String, marital: String, education: String)
    
     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("\"", "")
             )
    
     ).toDF()
     bank.registerTempTable("bank")
    

    코드 실행 및 결과 조회

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

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

      • FINISHED 상태와 Took 4 sec 문구로 코드가 정상적으로 수행된 것을 확인할 수 있습니다.
        cloudhadoop-use-zeppelin3
    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
      

      cloudhadoop-use-zeppelin4

    Zeppelin Notebook 백업

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

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

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

    Zeppelin Notebook 백업 시 Notebook 단위로 저장됩니다.

    참고

    zeppelin에서 jdbc interpreter를 설치하려면 엣지 서버에서 /etc/zeppelin/conf/interpreter-list 파일의 jdbc 버전 정보를 수정한 후 설치하십시오.

    변경 전: jdbc org.apache.zeppelin:zeppelin-jdbc:0.11.0-SANPSHOT Jdbc interpreter
    변경 후: jdbc org.apache.zeppelin:zeppelin-jdbc:0.10.1 Jdbc interpreter

    자세한 사항은 메이븐에서 jdbc interpreter의 라이브러리 의존성(버전, 라이브러리 이름 등)을 확인하십시오.


    이 문서가 도움이 되었습니까?

    What's Next
    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.