- 인쇄
- PDF
Zeppelin 사용
- 인쇄
- PDF
네이버 클라우드 플랫폼 Cloud Hadoop에는 Zeppelin Notebook이 설치되어 있습니다.
이 가이드에서는 Zeppelin Notebook UI에 접속하는 방법과 간단한 예제 실행 방법을 설명합니다.
Zeppelin에 대한 자세한 내용은 Apache Zeppelin 공식 홈페이지를 참고해 주십시오.
Zeppelin Notebook UI 접속
Zeppelin Notebook UI에 접속하는 방법은 다음과 같습니다.
콘솔의 Web UI 목록을 통한 연결
Cloud Hadoop 콘솔에서 Application별 보기를 통해 Zeppelin Notebook UI에 접속할 수 있습니다. 자세한 내용은 Application 별 보기를 참조해 주십시오.
웹 브라우저로 직접 접속
웹 브라우저를 실행한 후, 주소란에 다음과 같이 입력하고 접속해 주십시오. 클러스터에 할당된 도메인 주소를 사용합니다.
https://{도메인 주소}:9996
Ambari Web UI를 통한 접속 방법
Ambari Web UI를 통한 접속 방법은 다음과 같습니다.
- Ambari UI에 접속해 주십시오.
- Ambari UI 접속에 대한 자세한 내용은 Ambari UI 접속 가이드를 참고해 주십시오.
- Ambari UI 화면에서 Zeppelin Notebook > Quick Links > Zeppelin UI를 차례대로 클릭해 주십시오.
- 브라우저에 로그인 페이지가 표시되면 클러스터 생성 시 설정한 관리자 계정 및 패스워드를 입력하여 로그인해 주십시오.
- 접속에 성공하면 Zeppelin 페이지의 우측 상단 [login] 버튼 옆에 초록색 점이 표시됩니다.
Zeppelin Notebook 시작
Zeppelin Notebook을 생성하여 데이터를 입력하고 결과를 그래프로 확인할 수 있습니다.
이 가이드의 내용은 Zeppelin Notebook에 기본적으로 제공되는 "Zeppelin Tutorial (Basic Features)" Notebook을 참고하였습니다.
Notebook 생성
Notebook을 생성하는 방법은 다음과 같습니다.
- Zeppelin 상단의 [Notebook] > Create new note를 클릭해 주십시오.
- 노트 이름 및 정보를 설정한 후 [Create] 버튼을 클릭해 주십시오.
- Default Interpreter는 노트를 생성한 후에도 변경할 수 있습니다.
- Default Interpreter는 노트를 생성한 후에도 변경할 수 있습니다.
테이블에 데이터를 로드
다음은 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 코드를 실행 및 결과를 확인하는 방법은 다음과 같습니다.
[Shift] + [Enter] 키를 누르거나 을 클릭하여 코드를 실행해 주십시오.
- FINISHED 상태와 Took 4 sec 문구로 코드가 정상적으로 수행된 것을 확인할 수 있습니다.
- FINISHED 상태와 Took 4 sec 문구로 코드가 정상적으로 수행된 것을 확인할 수 있습니다.
새 단락에 테이블의 데이터를 조회하는 Spark SQL 구문을 작성한 후 [Shift] + [Enter] 키를 누르거나 을 클릭하여 코드를 실행해 주십시오.
- 조회 결과 화면이 표시됩니다. 그래프 버튼을 이용하여, SQL 결과를 다양한 종류의 그래프로 확인할 수 있습니다.
%spark.sql select age, count(1) value from bank where age < 30 group by age order by age
Zeppelin Notebook 백업
Zeppelin Notebook은 클러스터 마스터 노드의 1번 서버에 저장됩니다. 따라서 클러스터 삭제 시 Notebook도 함께 삭제됩니다.
동일한 Notebook을 다른 클러스터에서 사용하기 위해서는 작업 수행을 완료한 후 Notebook을 내보내야 합니다.
Zeppelin Notebook 백업하는 방법은 다음과 같습니다.
- 화면 상단의 을 클릭해 주십시오.
- 로컬 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의 라이브러리 의존성(버전, 라이브러리 이름 등)을 확인하십시오.