소요 시간: ~15분 | 사전 조건: 02. 공기청정기 데이터 생성 완료 | 컴퓨트: Serverless 권장
이 모듈에서 사용하는 Databricks 기능
개요
DUALCOOL/WHISEN 에어컨에서 수집되는 IoT 센서 데이터를 기반으로 9개 테이블, 약 120만 건의 가상 데이터를 생성합니다. 에어컨 특유의 냉/난방 사이클, 컴프레서 동작, 에너지 효율 등 실제 운전 데이터 구조를 반영합니다.데이터 아키텍처
catalog: lge_appliance
├── bronze (Raw IoT 센서 로그)
│ ├── [Master] ac_devices 8,000건 — 에어컨 디바이스 마스터
│ ├── [Sensor] ac_temperature_logs 400,000건 — 실내/외 온도, 설정 온도 측정
│ ├── [Sensor] ac_humidity_logs 200,000건 — 실내 습도 및 제습량
│ ├── [Operation] ac_operation_logs 250,000건 — 냉방/난방/제습/송풍 모드, 풍향/풍속
│ ├── [Operation] ac_compressor_events 80,000건 — 컴프레서 가동/정지, 주파수(Hz)
│ ├── [Energy] ac_energy_consumption 200,000건 — 시간대별 전력 소비 및 EER
│ ├── [IoT] ac_thinq_commands 60,000건 — 제조사 모바일 앱 원격 제어 명령
│ ├── [Alert] ac_alert_events 30,000건 — 에러 코드, 정비 알림
│ └── [Maintenance] ac_maintenance_logs 20,000건 — 정기 점검, 냉매 충전, 세척 이력
테이블별 DDL 및 프롬프트
1. 디바이스 마스터 (ac_devices)
lge_appliance.bronze.ac_devices 테이블을 생성해줘. 8,000건.
DDL 정보:
- device_id: STRING — 고유 디바이스 ID (AC-UUID 형식)
- model_name: STRING — 모델명 (FQ18DADWA2, FQ18PAKWT2, FW18RAWWA 등 DUALCOOL/WHISEN 모델)
- product_line: STRING — 'DUALCOOL' 또는 'WHISEN'
- capacity_btu: INT — 냉방 능력(BTU), 9000/12000/18000/24000
- energy_grade: STRING — 에너지 효율 등급 '1'~'5'
- manufactured_date: DATE — 2022-01-01 ~ 2026-03-31
- firmware_version: STRING — 'v2.5.0' ~ 'v3.2.0'
- region: STRING — 서울, 경기, 부산, 대구, 광주, 대전, 인천, 세종
- install_type: STRING — '벽걸이', '스탠드', '천장형', '시스템'
- thinq_registered: BOOLEAN — 제조사 모바일 앱 등록 여부 (75% true)
- warranty_end_date: DATE — manufactured_date + 3년
- registration_date: TIMESTAMP
COMMENT: 'DUALCOOL/WHISEN 에어컨 디바이스 마스터 테이블'
Delta 형식으로 저장해줘.
2. 온도 센서 로그 (ac_temperature_logs)
lge_appliance.bronze.ac_temperature_logs 테이블을 생성해줘. 400,000건.
DDL 정보:
- log_id: STRING — UUID
- device_id: STRING — ac_devices.device_id 참조
- measured_at: TIMESTAMP — 2025-10-01 ~ 2026-03-31 (10분 간격)
- indoor_temp: DOUBLE — 실내 온도(°C), 15~35
- outdoor_temp: DOUBLE — 실외 온도(°C), -10~40, 계절별 변동
- set_temp: DOUBLE — 설정 온도(°C), 18~30
- temp_diff: DOUBLE — indoor_temp - set_temp (자동 계산)
- sensor_location: STRING — 'main', 'sub', 'remote'
- event_date: DATE
여름(6~8월) 실외 온도 30~40°C, 겨울(12~2월) -10~5°C로 계절별 분포.
COMMENT: '실내외 온도 센서 측정 로그 (10분 간격)'
Delta 형식, event_date 파티셔닝.
3. 습도 센서 로그 (ac_humidity_logs)
lge_appliance.bronze.ac_humidity_logs 테이블을 생성해줘. 200,000건.
DDL 정보:
- log_id: STRING — UUID
- device_id: STRING
- measured_at: TIMESTAMP — 10분 간격
- indoor_humidity: DOUBLE — 실내 습도(%), 20~90
- dehumidify_amount: DOUBLE — 제습량(L/h), 0~3.0
- comfort_index: DOUBLE — 쾌적 지수 0~100
- event_date: DATE
장마철(6~7월) 습도 70~90%로 높게, 겨울 20~40%로 낮게.
COMMENT: '실내 습도 및 제습량 측정 로그'
Delta 형식, event_date 파티셔닝.
4. 운전 모드 로그 (ac_operation_logs)
lge_appliance.bronze.ac_operation_logs 테이블을 생성해줘. 250,000건.
DDL 정보:
- log_id: STRING — UUID
- device_id: STRING
- event_at: TIMESTAMP
- operation_mode: STRING — 'Cooling', 'Heating', 'Dehumidify', 'Fan', 'AI_Auto', 'Energy_Saving'
- fan_speed: INT — 풍속 단계 1~6
- fan_direction: STRING — 'auto', 'up', 'down', 'left', 'right', 'wide', 'spot'
- set_temperature: DOUBLE — 설정 온도
- duration_minutes: INT — 해당 모드 유지 시간
- triggered_by: STRING — 'user', 'ai_auto', 'schedule', 'thinq_app'
- event_date: DATE
여름: 냉방 60%, AI자동 20%. 겨울: 난방 55%, AI자동 25%.
COMMENT: '에어컨 운전 모드 변경 로그'
Delta 형식, event_date 파티셔닝.
5. 컴프레서 이벤트 (ac_compressor_events)
lge_appliance.bronze.ac_compressor_events 테이블을 생성해줘. 80,000건.
DDL 정보:
- event_id: STRING — UUID
- device_id: STRING
- event_at: TIMESTAMP
- compressor_state: STRING — 'running', 'stopped', 'defrost'
- frequency_hz: DOUBLE — 인버터 주파수(Hz), 0~120
- discharge_temp: DOUBLE — 토출 온도(°C), 40~90
- suction_temp: DOUBLE — 흡입 온도(°C), -5~20
- current_amps: DOUBLE — 소비 전류(A), 0~15
- event_date: DATE
COMMENT: '컴프레서 가동/정지 이벤트 (인버터 주파수 포함)'
Delta 형식, event_date 파티셔닝.
6. 전력 소비 (ac_energy_consumption)
lge_appliance.bronze.ac_energy_consumption 테이블을 생성해줘. 200,000건.
DDL 정보:
- record_id: STRING — UUID
- device_id: STRING
- measured_at: TIMESTAMP — 1시간 간격
- power_watts: DOUBLE — 소비 전력(W), 모드별: Fan 30~50W, Cooling 500~2000W, Heating 600~2500W
- cumulative_kwh: DOUBLE — 누적 전력량(kWh)
- eer: DOUBLE — 에너지효율비(EER), 2.5~5.0
- operation_mode: STRING — 측정 시점의 운전 모드
- outdoor_temp: DOUBLE — 측정 시점 실외 온도 (효율 분석용)
- event_date: DATE
실외 온도가 높을수록(냉방 시) 또는 낮을수록(난방 시) 전력 소비 증가.
COMMENT: '시간대별 전력 소비 및 에너지 효율 로그'
Delta 형식, event_date 파티셔닝.
7. ThinQ 원격 제어 명령 (ac_thinq_commands)
lge_appliance.bronze.ac_thinq_commands 테이블을 생성해줘. 60,000건.
DDL 정보:
- command_id: STRING — UUID
- device_id: STRING
- sent_at: TIMESTAMP
- command_type: STRING — 'power_on', 'power_off', 'mode_change', 'temp_set', 'fan_speed', 'schedule_set', 'ai_mode'
- command_payload: STRING — JSON 형태 명령 파라미터
- execution_result: STRING — 'success', 'failed', 'timeout', 'device_offline'
- response_time_ms: INT — 명령 응답 시간(ms), 100~5000
- app_version: STRING — 제조사 모바일 앱 버전
- event_date: DATE
성공률 90%, 실패 6%, 타임아웃 2.5%, 오프라인 1.5%.
COMMENT: '제조사 모바일 앱 에어컨 원격 제어 명령 로그'
Delta 형식, event_date 파티셔닝.
8. 알림 이벤트 (ac_alert_events)
lge_appliance.bronze.ac_alert_events 테이블을 생성해줘. 30,000건.
DDL 정보:
- alert_id: STRING — UUID
- device_id: STRING
- alert_at: TIMESTAMP
- alert_type: STRING — 'filter_clean', 'refrigerant_low', 'compressor_error', 'sensor_fault', 'defrost_cycle', 'firmware_update'
- error_code: STRING — 'CH01'~'CH15' 에러 코드 체계
- severity: STRING — 'info', 'warning', 'critical'
- alert_message: STRING — 한글 알림 메시지
- acknowledged: BOOLEAN — 사용자 확인 여부
- resolved_at: TIMESTAMP — 해결 시각 (NULL 가능)
- event_date: DATE
필터 세척 35%, 제상 사이클 20%, 센서 이상 15%, 컴프레서 에러 10%, 냉매 부족 10%, 펌웨어 10%.
COMMENT: '에어컨 알림 및 에러 코드 이벤트'
Delta 형식, event_date 파티셔닝.
9. 정비 이력 (ac_maintenance_logs)
lge_appliance.bronze.ac_maintenance_logs 테이블을 생성해줘. 20,000건.
DDL 정보:
- maintenance_id: STRING — UUID
- device_id: STRING
- maintenance_date: DATE — 정비 수행일
- maintenance_type: STRING — 'regular_inspection', 'filter_cleaning', 'refrigerant_charge', 'deep_cleaning', 'part_replacement'
- technician_id: STRING — 서비스 기사 ID
- cost_krw: INT — 정비 비용(원), 0(무상) ~ 500000
- warranty_covered: BOOLEAN — 무상 보증 해당 여부
- parts_replaced: STRING — 교체 부품 (NULL 가능)
- next_maintenance_date: DATE — 다음 정비 권장일
- notes: STRING — 정비 메모
- event_date: DATE
정기 점검 30%, 필터 세척 25%, 심층 세척 20%, 냉매 충전 15%, 부품 교체 10%.
COMMENT: '에어컨 정비 및 서비스 이력'
Delta 형식, event_date 파티셔닝.
데이터 검증
모든 테이블 생성 후 아래 프롬프트로 검증합니다:lge_appliance.bronze 스키마에서 ac_로 시작하는 모든 테이블의
건수, 컬럼 수, 파티션 키를 정리해서 보여줘.
| 테이블 | 목표 건수 | 주요 컬럼 |
|---|---|---|
| ac_devices | 8,000 | device_id, model_name, capacity_btu |
| ac_temperature_logs | 400,000 | indoor_temp, outdoor_temp, set_temp |
| ac_humidity_logs | 200,000 | indoor_humidity, dehumidify_amount |
| ac_operation_logs | 250,000 | operation_mode, fan_speed, fan_direction |
| ac_compressor_events | 80,000 | compressor_state, frequency_hz |
| ac_energy_consumption | 200,000 | power_watts, eer |
| ac_thinq_commands | 60,000 | command_type, execution_result |
| ac_alert_events | 30,000 | alert_type, error_code, severity |
| ac_maintenance_logs | 20,000 | maintenance_type, cost_krw |
다음 단계
- 04. SDP 파이프라인 — 공기청정기 + 에어컨 데이터를 Bronze → Silver → Gold로 변환하는 파이프라인 구축