Genie Code란?
Genie Code는 Databricks 노트북과 SQL 에디터에 내장된 AI 코딩 어시스턴트 입니다. 자연어로 코드를 생성하고, 기존 코드를 설명하거나 수정하며, 오류를 디버깅할 수 있습니다. 별도의 설치 없이 Databricks 워크스페이스 내에서 바로 사용할 수 있습니다.💡 Genie Code의 핵심 가치 코딩 경험이 적은 분석가도 자연어로 데이터 분석 코드를 생성할 수 있고, 숙련된 개발자도 반복적인 코드 작성 시간을 크게 줄일 수 있습니다.
Genie vs Genie Code: 차이점
Databricks에는 “Genie”라는 이름이 붙은 두 가지 기능이 있습니다. 혼동하기 쉬우므로 차이점을 명확히 이해하는 것이 중요합니다.| 구분 | Genie (AI/BI Genie) | Genie Code (Databricks Assistant) |
|---|---|---|
| 주요 대상 | 비즈니스 사용자, 분석가 | 데이터 엔지니어, 데이터 사이언티스트, 분석가 |
| 사용 위치 | Genie Space (전용 인터페이스) | 노트북, SQL 에디터 |
| 입력 | 자연어 질문 | 자연어 프롬프트 |
| 출력 | SQL 쿼리 + 결과 테이블/차트 | Python, SQL, Scala, R 코드 셀 |
| 데이터 범위 | Genie Space에 등록된 테이블만 | 워크스페이스 내 모든 접근 가능한 데이터 |
| 커스터마이징 | 샘플 질문, 지침 설정 가능 | 노트북 컨텍스트를 자동으로 인식 |
| 목적 | 셀프서비스 BI (질문→답변) | 코드 생성·수정·디버깅 |
주요 기능
1. 코드 생성
자연어 설명을 입력하면 해당하는 코드를 자동으로 생성합니다. 예시 프롬프트:2. 코드 설명
기존 코드를 선택하고 “이 코드를 설명해줘”라고 요청하면 한국어로 상세한 설명을 제공합니다.3. 코드 수정 및 리팩토링
기존 코드에 대해 수정 요청을 할 수 있습니다.4. 오류 디버깅
셀 실행 시 오류가 발생하면 Genie Code가 자동으로 오류를 분석하고 수정 방안을 제안합니다.5. 자동 완성 (Autocomplete)
코드를 입력하는 도중 실시간으로 코드 완성 제안을 표시합니다.Tab 키를 눌러 제안을 수락할 수 있습니다.
사용 방법
노트북에서 사용
- 새 셀에서 프롬프트 입력: 빈 코드 셀에 자연어로 원하는 작업을 설명합니다.
- Generate 버튼 클릭: 또는
Cmd+Shift+G(Mac) /Ctrl+Shift+G(Windows) 단축키를 사용합니다. - 코드 검토 및 수정: 생성된 코드를 검토하고 필요하면 추가 프롬프트로 수정합니다.
- 셀 실행: 검토가 완료되면 셀을 실행합니다.
SQL 에디터에서 사용
SQL 에디터에서도 동일하게 자연어 프롬프트로 SQL 쿼리를 생성할 수 있습니다.지원 언어
| 언어 | 노트북 | SQL 에디터 | 주요 용도 |
|---|---|---|---|
| Python | O | - | 데이터 처리, ML, 시각화 |
| SQL | O | O | 데이터 조회, 분석 |
| Scala | O | - | Spark 네이티브 처리 |
| R | O | - | 통계 분석, 시각화 |
활용 시나리오
시나리오 1: 데이터 탐색 (EDA)
describe(), 컬럼별 NULL 카운트, 데이터 타입 요약 등의 코드를 자동으로 생성합니다.
시나리오 2: ETL 코드 생성
시나리오 3: ML 모델 학습 코드 생성
시나리오 4: 복잡한 SQL 작성
모범 사례: 효과적인 프롬프트 작성
구체적으로 요청하세요
| 비효율적 프롬프트 | 효과적 프롬프트 |
|---|---|
| ”데이터 분석해줘" | "orders 테이블에서 월별 매출 추이를 분석하고 전월 대비 증감률을 계산해줘" |
| "그래프 그려줘" | "카테고리별 매출 비중을 파이 차트로 그려줘, 상위 5개만 표시하고 나머지는 기타로 묶어줘" |
| "오류 고쳐줘" | "이 코드에서 AnalysisException이 발생하는데, 테이블명이 변경된 것 같아. 올바른 테이블명으로 수정해줘” |
컨텍스트를 제공하세요
Genie Code는 현재 노트북의 이전 셀 내용을 컨텍스트로 활용합니다. 따라서 아래와 같이 하면 더 정확한 코드를 생성할 수 있습니다.- 첫 번째 셀 에서 테이블을 로드합니다.
- 두 번째 셀 에서 “위 데이터프레임에서 이상치를 탐지해줘”라고 요청합니다.
단계별로 요청하세요
한 번에 복잡한 작업을 요청하기보다, 단계별로 나누어 요청하면 더 정확한 결과를 얻을 수 있습니다.보안 고려사항
Unity Catalog 권한 연동
Genie Code가 생성하는 코드는 실행 시 사용자의 Unity Catalog 권한 이 그대로 적용됩니다. 접근 권한이 없는 테이블에 대한 코드를 생성해도 실행 단계에서 권한 오류가 발생합니다.| 보안 항목 | 설명 |
|---|---|
| 데이터 접근 | Unity Catalog GRANT 기반 권한 적용 |
| 행/열 수준 보안 | Row Filter, Column Mask 정책이 적용된 상태로 데이터 반환 |
| 감사 로그 | Genie Code 사용 내역이 시스템 테이블에 기록 |
| 코드 실행 | 생성된 코드는 반드시 사용자가 검토 후 수동 실행 |
주의사항
- Genie Code가 생성한 코드는 반드시 검토 후 실행 하세요. AI가 생성한 코드에 논리적 오류가 있을 수 있습니다.
- 프로덕션 테이블에 대한 쓰기 작업(INSERT, UPDATE, DELETE)은 특히 주의 깊게 검토하세요.
- 민감한 데이터(PII)를 프롬프트에 직접 입력하지 마세요. 테이블명과 컬럼명으로 참조하세요.
설정 및 관리
워크스페이스 관리자 설정
워크스페이스 관리자는 Genie Code 기능을 활성화/비활성화할 수 있습니다.자동 완성 설정
개인 사용자는 노트북에서 자동 완성을 켜거나 끌 수 있습니다.정리
| 항목 | 내용 |
|---|---|
| 핵심 가치 | 노트북 내에서 자연어로 코드 생성·수정·디버깅 |
| 사용 위치 | Databricks 노트북, SQL 에디터 |
| 지원 언어 | Python, SQL, Scala, R |
| 보안 | Unity Catalog 권한 기반, 행/열 수준 보안 적용 |
| 대상 사용자 | 데이터 엔지니어, 데이터 사이언티스트, 분석가 |