끄적끄적 코딩
article thumbnail

NoteBook을 클릭하고 Create new note를 클릭해서 note를 만들어봅니다.
여기서 note는 workspace를 의미합니다



Note Name을 지정하고 Create 버튼을 누릅니다.



Hello Zeppelin이라는 note가 생성되었고 밑의 텍스트 입력창은 Paragraph입니다.
하나의 note에 여러개의 paragraph를 담을 수 있습니다.


%언어 : 단락의 언어를 설정하여 해당 문법으로 단락을 코딩하면 됩니다.
%md : markdown
%python : 파이썬
%spark : 스파크
%sql : sql

markdown, python에서 print를 실행해본 결과입니다.
같은 interpreter를 사용하는 경우 Paragraph간 Context 공유가 가능합니다




제플린 홈페이지에서 제공해주는 튜토리얼을 진행해보았습니다. (zeppelin.apache.org/docs/0.8.0/quickstart/tutorial.html#data-refine-1)

bank.zip을 다운받고 압축을 풀었습니다.

val bankText = sc.textFile("/mnt/c/Users/J3SUNG/Downloads/bank/bank-full.csv")

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

// split each line, filter out header (starts with "age"), and map it into Bank case class
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
        )
)

// convert to DataFrame and create temporal table
bank.toDF().registerTempTable("bank")


홈페이지에 코드를 copy paste 했습니다.
그리고 압축푼 파일이 있는 경로만 변경해주었습니다. (첫번째 줄)
코드를 실행하면 csv파일을 테이블로 만들어줍니다.

%sql 
select age, count(1) 
from bank 
where age < 30 
group by age 
order by age

쿼리를 실행해서 생성된 테이블에 원하는 내용을 위와 같이 확인할 수 있습니다.
또한 상단에 버튼을 눌러서 다양한 차트, 그래프로 확인 가능합니다.



%sql 
select age, count(1) 
from bank 
where age < ${maxAge=30} 
group by age 
order by age

${maxAge=30} 로 코드를 작성하고 실행하면 maxAge를 Input box가 나오고 Default값은 30으로 지정되어있습니다.
maxAge를 변경하고 실행하면 변경된 값으로 쿼리가 실행됩니다. 

 

%sql 
select age, count(1) 
from bank 
where marital="${marital=single,single|divorced|married}" 
group by age 
order by age

${marital=single,single|divorced|married}로 작성하게 되면 combobox가 생성됩니다.

 

%sql
select ${checkbox:fields=age|job|marital|education|balance,age|job|marital|education|balance} 
from bank
limit 100

${checkbox:fields=age|job|marital|education|balance,age|job|marital|education|balance} 로 작성하게 되면 checkbox가 생성됩니다.

 

이제 이 튜토리얼 과정을 직접 만들어서 진행해보겠습니다.

먼저 엑셀파일을 적당히 하나 만들었습니다.


그런 다음 Libra Office라는 프로그램을 통해 해당 파일을 csv파일로 만들어줬습니다.
Libra Office를 사용한 이유는 문자열을 " "로 묶어주는 것과 값들 사이에 구분자를 설정할 수 있어서 입니다.



내보낸 값을 메모장을 통해 확인해보았습니다.


zeppelin을 통해 테이블 생성 코드 실행

변수명, 경로, 타입지정, split 기준 을 수정해줍니다.

쿼리문을 실행해서 결과를 확인해봅니다.

테이블이 정상적으로 생성된것을 확인할 수 있습니다.

막대차트 설정값 변경

keys를 이름으로, values를 age (SUM)로 지정해서 다음과 같은 막대차트가 생성되었습니다.

이번에는 keys를 age로 두고 values를 age (COUNT)로 실행해보았습니다.
나이별로 분류가 되었고, 나이의 수를 카운트해서 결과를 보여주었습니다.

'Apache Zeppelin' 카테고리의 다른 글

[Apache Zeppelin] 제플린이란?  (0) 2020.09.24
[Apache Zeppelin] UI 익히기  (0) 2020.09.23
[Apache Zeppelin] 제플린 시작하기  (0) 2020.09.19

검색 태그