BeeAI 공모전 교육 영상(02) - 데이터 수집적재하기(41~49p)
데이터 분석 및 시각화 시스템(BI) 개발의 첫 번째 관문은 바로 데이터의 수집과 적재입니다. 이번 과정에서는 웹 툴킷을 활용하여 스트림 데이터를 배치 저장소에 안전하게 저장하는 실습을 진행합니다. 특히 실시간으로 발생하는 데이터를 효율적으로 처리하기 위해 미니 배치 엔진과 Spark Streaming 기술이 핵심적인 역할을 수행합니다. 사용자는 압축된 모델 파일이나 데이터셋을 레지스트리에 등록하여 엔진 동작 시 활용하게 되며, 이는 전체 분석 시스템의 기초가 됩니다. 구체적인 예제로 HTTP 서버 리더를 통해 수신한 데이터를 MongoDB에 저장하는 과정을 살펴봅니다. 특정 포트를 통해 들어오는 스트림 데이터는 Spark Streaming 컨트롤러에 의해 처리되며, 설정된 주기마다 엔진이 깨어나 적재 작업을 수행합니다. 여기서 미니 배치 방식은 데이터를 일정 간격으로 나누어 처리함으로써 시스템의 부하를 줄이고 데이터의 정합성을 유지하는 데 기여합니다. 이는 대규모 트래픽이 발생하는 환경에서 시스템 안정성을 확보하는 중요한 기법입니다. 실습 환경에서는 실제 센서 데이터 대신 시뮬레이터 엔진을 활용하여 스트림 데이터를 발생시킵니다. 시뮬레이터는 저장된 텍스트 파일을 한 줄씩 읽어 지정된 포트로 전송하며, 실제 운영 환경에서 데이터가 지속적으로 유입되는 상황을 정밀하게 모사합니다. 이를 통해 사용자는 데이터가 리더를 거쳐 적재기까지 흐르는 전체적인 데이터 파이프라인의 흐름을 직관적으로 이해할 수 있습니다. 또한, 운영 화면에서 각 엔진의 상태를 모니터링하며 실시간 전송 과정을 제어하는 역량을 기를 수 있습니다. 원활한 실습 진행을 위해서는 네트워크 설정이 필수적입니다. 리눅스나 윈도우 환경에서 hosts 파일을 수정하여 할당받은 IP와 마스터 노드, 프록시 서버의 이름을 연결해 주는 작업이 선행되어야 합니다. 이는 시스템 내부의 모듈들이 서로를 올바르게 인식하고 데이터를 주고받기 위한 통신 경로를 확보하는 필수 과정입니다. 관리자 권한으로 파일을 열어 설정값을 정확히 입력해야만 엔진 간의 상호작용이 문제없이 이루어지며, 통신 장애로 인한 데이터 누락을 방지할 수 있습니다. 데이터가 정상적으로 적재되고 있는지 확인하기 위해 결과 검증기(Result Validator)라는 워크플로우를 사용합니다. 이 엔진은 저장소에 쌓인 데이터를 읽어 파일로 출력하며, 실시간 적재 여부에 따라 출력 파일의 크기가 점진적으로 증가하게 됩니다. 단순히 데이터가 쌓이는 것뿐만 아니라, 예상한 경로에 올바른 형식으로 데이터가 기록되는지를 수시로 점검하는 과정은 데이터 품질 관리 측면에서 매우 중요합니다. 실습자는 이를 통해 엔진이 정상적으로 작동하고 있음을 육안으로 확인할 수 있습니다. 외부 플랫폼과의 연동 실습으로는 IoT 엣지 컴퓨팅 플랫폼인 EdgeX를 활용합니다. EdgeX는 다양한 IoT 기기에서 발생하는 데이터를 통합 관리하는 오픈 소스 프로젝트로, BI 시스템과는 MQTT 프로토콜을 통해 데이터를 주고받습니다. 사용자는 EdgeX MQTT 리더를 등록하여 플랫폼에서 발생하는 JSON 형식의 스트림 데이터를 수신하게 됩니다. 이 과정은 이기종 시스템 간의 데이터 통합을 구현하는 실무적인 기술로, 다양한 산업 현장에서 폭넓게 활용되는 연동 방식입니다. 수신된 EdgeX 데이터는 포맷 변환 연산자를 통해 정제 과정을 거칩니다. JSON 형태로 들어온 복잡한 구조의 데이터는 분석에 용이한 데이터프레임이나 CSV 형식으로 변환되어 HDFS 등에 최종적으로 저장됩니다. 이러한 과정은 미니 배치 엔진에 의해 주기적으로 실행되며, 데이터의 추가 모드를 활용하여 지속적으로 유입되는 정보를 유실 없이 기록함으로써 실시간 데이터 파이프라인을 완성하게 됩니다. 실습을 마친 후에는 실행 중인 스트림 엔진을 종료하여 리소스를 관리하는 것도 중요합니다.

![BeeAI 활용 교육 영상(02) - [1단계] 데이터 수집 및 적재하기](https://i.ytimg.com/vi/hRcDs2f3Zz8/mqdefault.jpg)