Skip to main content
소요 시간: ~15분 | 사전 조건: 01. 환경 설정 완료 | 컴퓨트: Serverless 권장

이 모듈에서 사용하는 Databricks 기능

개요

Smart TV에서 실제로 발생하는 텔레메트리 로그 체계를 기반으로 10개 카테고리, 17개 테이블, 약 250만 건의 가상 데이터를 생성합니다. Smart TV OS의 실제 로깅 인프라(pmlogd, Luna Service API, rdxd)의 구조를 반영하여, 현실적인 필드명과 값 분포를 가진 데이터를 만듭니다.

Genie Code로 생성하기

이 모듈의 모든 데이터는 Genie Code를 통해 자연어 프롬프트만으로 생성합니다. 각 테이블별로 제공되는 프롬프트를 Genie Code에 입력하면, PySpark + Faker 기반의 데이터 생성 코드가 자동으로 만들어집니다.
Tip: Genie Code에서 Cmd+I → Agent Mode로 전환 후 프롬프트를 입력하세요.

데이터 아키텍처 전체 구조


진행 방법

17개 테이블을 한 번에 다 만들 필요는 없습니다. 테이블 1(devices)만 먼저 생성하고, 나머지는 카테고리별로 필요할 때 생성하세요. 각 테이블의 프롬프트를 Genie Code에 그대로 복사 붙여넣기하면 PySpark + Faker 코드가 자동 생성됩니다.

사전 준비: 환경 설정

01. 환경 설정에서 카탈로그/스키마를 이미 생성했다면 이 단계는 건너뛰세요.

카테고리 안내

아래 17개 테이블은 카테고리별로 묶어서 설명합니다. 각 카테고리를 클릭하면 상세 스키마와 프롬프트가 펼쳐집니다.
가장 먼저 테이블 1(devices)을 생성하세요. 나머지 모든 테이블이 devices의 device_id를 참조합니다.

테이블 1: devices (디바이스 마스터)

모든 로그의 기준이 되는 TV 디바이스 마스터 테이블. 가장 먼저 생성해야 합니다.

스키마 정의

Genie Code 프롬프트

생성 확인

✅ row 수가 10,000건이고, region 분포가 KR(30%) US(25%) EU(20%)에 가까우면 정상입니다.
💡 AI 결과에 도전하기: 단순 확인에 만족하지 말고, Genie Code의 결과에 질문을 던져보세요:
이렇게 “조건대로 잘 만들어졌는지” 검증하는 습관을 들이면, 이후 Silver/Gold 변환에서 데이터 품질 문제를 줄일 수 있습니다.

카테고리: System (시스템 로그)

시스템 로그 3개 테이블 펼치기 — boot_events(50K), resource_utilization(200K), firmware_updates(15K)

테이블 2: system_boot_events (시스템 부팅/전원 이벤트)

Smart TV의 pmlogd 로그 형식을 기반으로 한 부팅/전원 상태 전환 이벤트.

스키마 정의

Genie Code 프롬프트


테이블 3: resource_utilization (시스템 리소스 사용량)

1분 간격으로 수집되는 CPU/메모리/GPU/온도 등 시스템 리소스 메트릭.

스키마 정의

Genie Code 프롬프트


테이블 4: firmware_updates (펌웨어 업데이트 이벤트)

스키마 정의

Genie Code 프롬프트



카테고리: Viewing (시청 로그)

시청 로그 3개 테이블 펼치기 — viewing_logs(500K), app_launch_events(300K), input_switch_events(80K)

테이블 5: viewing_logs (시청 로그)

Smart TV의 com.webos.service.utp.broadcast Luna Service 기반 채널/앱 시청 기록.

스키마 정의

Genie Code 프롬프트


테이블 6: app_launch_events (앱 실행 이벤트)

Smart TV의 com.webos.applicationManager (SAM) Luna Service 기반.

스키마 정의

Genie Code 프롬프트


테이블 7: input_switch_events (입력 소스 전환)

스키마 정의

Genie Code 프롬프트



카테고리: Network (네트워크)

네트워크 2개 테이블 펼치기 — wifi_connection_events(100K), streaming_buffer_events(150K)

테이블 8: wifi_connection_events (WiFi 연결 이벤트)

Smart TV의 com.webos.service.connectionmanager Luna Service 기반.

스키마 정의

Genie Code 프롬프트


테이블 9: streaming_buffer_events (스트리밍 버퍼 이벤트)

스키마 정의

Genie Code 프롬프트



카테고리: Media & Ad (미디어 & 광고)

미디어/광고 3개 테이블 펼치기 — media_playback_events(200K), acr_events(300K), ad_impressions(200K)

테이블 10: media_playback_events (미디어 재생 이벤트)

비디오 코덱, 해상도, HDR 메타데이터 등 미디어 파이프라인 로그.

스키마 정의

Genie Code 프롬프트


테이블 11: acr_events (자동 콘텐츠 인식 이벤트)

ACR (Automatic Content Recognition) 시스템. 화면 핑거프린트를 통한 콘텐츠 식별.

스키마 정의

Genie Code 프롬프트


테이블 12: ad_impressions (광고 노출/클릭/전환)

스키마 정의

Genie Code 프롬프트



카테고리: IoT & Voice & App

IoT/음성/앱 3개 테이블 펼치기 — thinq_device_events(50K), voice_command_events(80K), app_lifecycle_events(100K)

테이블 13: thinq_device_events (ThinQ IoT 디바이스 이벤트)

com.webos.service.iot Luna Service 기반 ThinQ 스마트홈 연동 이벤트.

스키마 정의

Genie Code 프롬프트


테이블 14: voice_command_events (음성 명령 이벤트)

스키마 정의

Genie Code 프롬프트


테이블 15: app_lifecycle_events (앱 설치/삭제/업데이트)

스키마 정의

Genie Code 프롬프트



카테고리: Display & Error (디스플레이 & 에러)

디스플레이/에러 2개 테이블 펼치기 — panel_diagnostics(30K), error_crash_events(40K)

테이블 16: panel_diagnostics (패널/디스플레이 진단)

OLED 패널 케어, 픽셀 리프레셔, 밝기 제어 등 디스플레이 진단 로그.

스키마 정의

Genie Code 프롬프트


테이블 17: error_crash_events (에러/크래시 로그)

Smart TV의 rdxd 데몬이 수집하는 크래시/에러 리포트.

스키마 정의

Genie Code 프롬프트



데이터 생성 후 검증

모든 테이블 생성이 완료되면, Genie Code에 다음 프롬프트를 입력하여 데이터를 검증합니다:
💡 : 각 테이블을 하나씩 생성할 때마다, 아래처럼 간단히 확인할 수 있습니다:
17개 모두 만든 뒤 아래 종합 검증 프롬프트를 실행하세요.

검증 프롬프트

기대 결과


다음 단계

데이터 생성이 완료되면 다음 모듈로 이동합니다: