반응형

이번 장에서는 Databricks Genie를 활용하여 BI를 만들어 보려 합니다.
만든 BI를 누구나 접근할 수 있는 앱으로 마지막에 만드는 것이 목표입니다.
1. Genie Code에 데이터를 참고하여 분석을 맡기기

- 만들어진 최종 데이터(Gold 테이블)를 확인하여 유의미한 분석 대시보드를 추천 해달라고 하였습니다.
- 지니가 데이터를 확인하여 어떤 도표를 만드는게 좋은지 추천해줍니다.
- 현업에 계실 경우 자사의 데이터를 학습 시키면 그 데이터를 토대로 Genie가 인사이트를 제공합니다.
2. 대시보드가 자동으로 만들어지는 과정

- 1단계: 초기 설정
- 빈 대시보드 "Bakehouse Sales & Performance Dashboard" 생성
- 2개 데이터셋 준비:
- 일별 매출 분석 데이터
- 프랜차이즈 성과 데이터
- 최초 위젯 생성 시도시 오유효성 검사 오류로 실패
- 문제 파악 후 리 트라이
- 차트 encodings에 특정 속성 누락
- 파이 차트에서 잘못된 encoding 이름 사용
- 테이블에서 존재하지 않는 속성 사용
- getVizTypeDefinition 도구로 6가지 위젯 타입의 정식 스키마 확인 (line, bar, scatter, pie, counter, table)
- Line 차트 - 시간별 매출 추이
- Bar 차트 - 제품별 매출
- Scatter 차트 - 프랜차이즈 성과
- Pie 차트 - 카테고리별 분포
- Counter - 총 매출
- Table - 매출 상세 내역
- getDashboardConfig로 대시보드 상태 확인
- fetchWidgetRenderData로 6개 위젯 렌더링 검증
- 4개 위젯에서 데이터 컬럼 불일치 발견
- editWidgetsV2로 4개 위젯 업데이트
- 재검증으로 모든 위젯 정상 작동 확인
- 올바른 스키마 및 데이터로 6개 위젯 생성 성공
3. 완성된 BI 대시보드

- 데이터 브릭스의 대시보드 란에 방금 만들어진 데이터가 BI로 잘 보이고 있습니다.
- 위의 대시보드를 데이터브릭스에 접근 후에만 접근이 가능하다는 단점이 있습니다.
- 3. 완성된 BI 대시보드
4. 심화(앱으로 배포하기)

아래 과정을 genie에게 시킴으로써 스스로 코드를 만들도록 유도하였습니다.
사용 방식 : Databricks apps를 이용하여 대시보드를 Streamlit 앱을 생성
1단계: 앱 생성
- Databricks App 생성
- 주의점 : 앱 이름은 소문자, 숫자, 대시(-)만 허용
2단계: 앱 상태 확인
- runDatabricksCli 로 앱 초기 상태 확인
- Compute가 STARTING 상태임을 파악
- 주의점 : STARTING 이 끝난 이후에 작업을 진행하여야 함
- 생성된 앱 URL 주소 확인
3단계: 소스 파일 디렉토리 생성
- 해당 앱의 소스를 보관할 디렉토리 생성
4단계: Streamlit 코드 작성(.py)
- createAsset로 빈 파이썬 파일 생성
- editAsset로 전체 Streamlit 코드 작성:
- Databricks SQL 연결 함수
- 두 테이블에서 데이터 로드
- 사이드바 필터 (날짜 범위, 제품, 프랜차이즈)
- 주요 지표 카드 (총 매출, 거래 수, 고객 수, 평균 거래 금액)
- 5개 시각화: 라인 차트, 바 차트, 산점도, 파이 차트, 데이터 테이블
- CSV 다운로드 기능
5단계: 앱 설정 파일 작성 (.yaml)
- createAsset로 빈 yaml 파일 생성
- editAsset로 앱 구성 작성:
- Streamlit 실행 명령어
- 포트 설정: $DATABRICKS_APP_PORT 환경 변수 사용 (하드코딩 금지)
- 환경 변수: Databricks 서버 호스트, SQL Warehouse 경로, 토큰
- 리소스: 기본 SQL Warehouse 연결
6단계: 의존성 파일 작성 (.txt)
- createAsset로 빈 파일 생성
- editAsset로 필요한 패키지 명시:
- streamlit
- pandas
- plotly
- databricks-sql-connector
- pyarrow
7단계: 앱 배포
- runDatabricksCli로 소스 코드 배포
8단계: 배포 확인
- runDatabricksCli 로 최종 상태 확인
- 앱 상태 체크
- Compute 상태 체크
- 로그 확인 시도 (PAT 인증 제한으로 실패, 하지만 앱은 정상 작동)
'개발기록장 > Data' 카테고리의 다른 글
| [DE 실무] Databricks VS SnowFlakeVS Redshift 무엇을 선택할까? (0) | 2026.06.07 |
|---|---|
| [Databricks] 1-3장. Genie를 이용한 Pipleline 만들기 (0) | 2026.05.31 |
| [Databricks] 1-2장. 데이터브릭스 실습 1일차 (Fundamental) (0) | 2026.05.31 |
| [Databricks] 1-1장. 데이터브릭스 실습 계정 생성하기 (0) | 2026.05.30 |
| [Databricks] 0장. 데이터브릭스가 무엇인지 알아보자 (0) | 2026.05.30 |