■ 막대그래프(Bar graph, Bar chart)

  • 자료를 막대모양으로 시각화한 그래프
  • χ축을 범주형 변수(Category)로 배치하고 범주별 빈도를 표현
  • 범주간 막대그래프가 분리됨(비 이산변수 분포)
  • 막대의 재정렬 가능
  • 막대 폭은 동일하지 않아도 됨


■ 히스토그램(Histogram)

  • χ축을 연속형 변수(Number Range)로 배치하고 범위에 포함된 변량 표현
  • 막대간에 서로 붙어 있음(이산변수 분포)
  • 막대 폭은 일정해야 함
  • 막대의 재정렬 불가(∵연속형)

 


■ 업로드된 사용자 데이터 확인

ㅁ 경로 : /FileStroe/tables/

# 사용자데이터 확인
display(dbutils.fs.ls('/FileStore/tables/'))

 

■ 데이터프레임으로 가져오기

ㅁ spark.read.csv 활용

# 사용자 데이터--> DataFrame으로 읽기
# 한글깨짐 현상 방지를 위해 encoding 설정해서 불러오기
df_usertbl = spark.read.csv("/FileStore/tables/TextDown_pm031323_1000.csv", header = True, encoding = 'euc-kr')

display(df_usertbl)

 

■ 데이터 타입 보기

# 데이터 타입 보기
df_usertbl.printSchema()

 

■ 데이터프레임 생성하기

ㅁ spark.read.options 활용

path = '/FileStore/tables/TextDown_pm031323_1000.csv'
df_export = spark.read.options(header=True, inferSchema=True, encoding = 'euc-kr').csv(path)

# 객체 타입 확인
print(type(df_export))

# 데이터 프린트 개수 제한 15
display(df_export.limit(15))


ㅁ Visualization 활용

■ 데이터프레임을 Python Pandas로 전환하기

# 객체 타입 확인
print(type(pdf_export))

# Pyspark DF -> Python Pandas 프레임으로 변환 
pdf_export = df_export.toPandas() 

# 객체 타입 확인
print(type(pdf_export))

# 판다스 데이터프레임 형식으로 간단한 시각화 지원 안됨 
pdf_export.head(10)


References:

 


■ 샘플 데이터세트

Databricks 워크스페이스에서 사용할 수 있는 타사 제공용 샘플 데이터 세트

  • Unity 카탈로그 데이터세트
  • Databricks 데이터 세트(databricks-datasets)
  • CSV 형식의 타사 샘플 데이터 세트
  • 라이브러리 내의 타사 샘플 데이터 세트

 

■ Databricks File Store 저장 내역 조회

ㅁ 전체 DBFS 경로 조회

%python
display(dbutils.fs.ls('/'))

 

■ 샘플 데이터세트 조회

ㅁ Databricks 샘플 데이터세트 (databricks-datasets)

$python
display(dbutils.fs.ls('databricks-datasets/'))

 

■ 샘플 데이터세트 - Table 조회

ㅁ Namespace 구조

  • {Catalog Name}.{Schema Name}.{Table Name}.{Column Name}
  • Schema Name = Database Name


ㅁ 샘플 스키마 보기

%sql
show schemas in samples


ㅁ 샘플 테이블 보기

%sql
show tables in samples.tpch


ㅁ samples.tpch.customer 테이블 조회

%sql
select * from samples.tpch.customer limit 5

 

■ diamonds.csv 샘플 경로 확인

%python
display(dbutils.fs.ls('/databricks-datasets/Rdatasets/data-001/csv/ggplot2'))

 

■ CSV -> Dataframe으로 가져오기

# 제공 데이터셋 'diamonds' 불러오기 
df_diamonds = spark.read.csv("/databricks-datasets/Rdatasets/data-001/csv/ggplot2/diamonds.csv", header=True)

# 타입 확인
print(type(df_diamonds))

# 데이터 프린트
display(diamonds)

 

■ Dataframe에서 계산하기

# 모듈 호출 
import pandas as pd
from pyspark.sql.functions import avg

# diamonds 데이터 색상(color)별로 가격(price) 평균 구하기 
display(diamonds.select("color","price").groupBy("color").agg(avg("price")).sort("color"))

 

■ Delta 데이터 가져오기

# delta 활용 
data = (spark.read.format("delta") 
  .option("header", "true")
  .option("inferSchema", "true")
  .load("/databricks-datasets/learning-spark-v2/people/people-10m.delta"))

display(data)

 


References:

 


■ 노트북이란?

쿼리, 데이터 처리 및 기계학습을 위한 개발 도구로 동료와 협업을 하거나 여러 언어로 공동 작성, 버전 관리, 데이터 시각화를 제공

  • Python, SQL, Scala, R을 사용하여 코드 개발
  • 선택한 라이브러리를 사용하여 환경을 사용자 지정
  • 정기적으로 예약된 작업을 만들어 다중 Notebook 워크플로를 포함하여 작업을 자동으로 실행
  • .html 또는 .ipynb 형식으로 결과 및 Notebook을 내보내기
  • Git 기반 리포지토리를 사용하여 연결된 파일 및 종속성을 사용하여 Notebook을 저장
  • 대시보드를 빌드하고 공유
  • Delta Live Tables 파이프라인을 열거나 실행
  • (실험적) 고급 편집 기능을 사용

 

■ 노트북 만들기

ㅁ Web UI > 만들기 > 노트북

 

 

■ 노트북 열기

ㅁ Web UI > 워크스페이스 > Users > 노트북 클릭

 

■ 노트북 내보내기

ㅁ Web UI > 워크스페이스 > Users > 노트북 파일 > 내보내기 

 

■ 노트북 가져오기

ㅁ Web UI > 노트북 > 파일 > 노트북 가져오기 > 파일 > 찾아보기 > 가져오기

 


References:

 


■ 테이블 정의

테이블은 사용자가 업로드한 데이터 파일(.csv, .txt 등)을 DBFS(Databrick FileStore)에 저장하여 분석할 수 있도록 저장해 놓은 개체

■ 테이블 만들기 메뉴

ㅁ Web UI > 만들기 > 테이블

ㅁ 데이터 > 테이블 만들기

 

■ UI로 테이블 만들기

ㅁ 업로드할 파일 선택 > UI로 테이블 만들기 > 클러스터 선택 > 테이블 미리 보기

ㅁ 테이블 만들기

ㅁ 테이블 생성 확인

 

■ UI로 테이블 만들기

ㅁ Web UI > 만들기 > 새 테이블 만들기 > 노트북에 테이블 만들기

\

ㅁ 노트북에서 만들기

• 클러스터 선택

•Shitt + Enter 로 실행

ㅁ 새 테이블 생성 확인

• display(dbutils.fs.ls('/FileStore/tables/') 로 확인


※ References

 


■ FileStore

FileStore는 DBFS(Databricks File System)의 특수 폴더로 파일을 저장하고 웹 브라우저에서 파일에 액세스할 수 있음

  • 이미지 및 라이브러리와 같은 파일을 저장
  • 다운로드하려는 출력 파일을 로컬 데스크탑에 저장
  • 로컬 데이크톱에서 CSV 및 기타 데이터 파일을 업로드하여 Databricks에서 처리

 

■ 파일 저장 위치

  • /FileStore/jars
    업로드하는 하이브러리 저장. 삭제시 라이브러리 작동 안함.
  • /FileStore/tables
    UI를 사용하여 가져오는 파일 저장. 삭제시 이 파일에서 만든 테이블 액세스 불가.

 

■ FileStore에 파일 저장

dbutils.fs.put을 사용하여 임의이 텍스트 파일을 저장할 수 있음

# 파일 저장
dbutils.fs.put("/FileStore/my-stuff/my-file.txt", "This is the actual text that will be saved to disk. Like a 'Hello world!' example")

# 저장된 파일 확인
display(dbutils.fs.ls('/'))


※ Referendes:

 


■ 클러스터란?

프로덕션 ETL 파이프라인, 스트리밍 분석, 임시 분석 및 기계 학습과 같은 데이터 엔지니어링, 데이터 과학 및 데이터 분석 워크로드를 실행하는 계산 리소스 및 구성 집합을 의미

 

■ 클러스터 유형

  • 다목적 클러스터
    - UI, CLI, REST API로 다목적 클러스터 생성
    - 여러 사용자가 공유하여 공동 대황형 분석 수행
    - 수동으로 종료/재시작
  • 작업 클러스터
    - 새 작업 실행시 작업 클러스터 생성
    - 작업 완료시 클러스터 종료
    - 다시 시작 불가

 

■ 클러스터 만들기

ㅁ Web UI 에서 만들기

• Web UI > 만들기 > 클러스터

 

 

• Web UI > 컴퓨팅 > Compute 만들기

• 클러스터 생성
    - CE 버전에서는 Default만 설정 가능


ㅁ 노트북에서 만들기

• Web UI > 만들기 > 노트북 > 노트북 만들기

• 연결 > 클러스터에 연결 설정

 

■ 클러스터 생성 확인

 


※ Resources


■ 언어 설정

  • www.databricks.com 가기
  • 페이지 하단 "Worldwid ^ "에서 언어 설정
  • My English is not good enough..

 

■ 시작하기

  • 'Databricks 이용해 보기'나 '무료로 시작하기' 클릭

 

■ 계정 생성

ㅁ 계정 정보 등록 > 계속

 


ㅁ '커뮤니티 에디션으로 시작하기→' 클릭


ㅁ 메일 인증

ㅁ 이메일 인증 클릭 > 패스워드 설정

 

■ 로그인

 

■ Databricks Workspace 확인


ㅁ 반드시 "Sign in to Community Edition"으로 로그인 시도

 

■ 사용자 설정


ㅁ 비밀번호 설정 및 메일, 노트북, 언어 설정 가능

 


※ Resources

'▶ Data Platform > Databricks' 카테고리의 다른 글

[DBR] 노트북 가져오기 및 실행, 만들기  (0) 2024.08.18
[DBR] 테이블 만들기 w/UI  (0) 2024.08.18
[DBR] FileStore에 파일 저장  (0) 2024.08.18
[DBR] Cluster 만들기  (0) 2024.08.18
[DBR] 데이터브릭스 소개  (0) 2024.08.18

+ Recent posts