window
width : 0
clientWidth : 0
height : 0
heightVH : 0
content
left : 0
width : 0
padding : 0
column
left : 0
width : 0
gap : 0

HTTP서버

1 Contents
최신순

BeeAI 활용 교육 영상(02) - [1단계] 데이터 수집 및 적재하기

BeeAI 개발 프로세스의 첫 번째 단계는 데이터의 수집 및 적재입니다. 이를 위해 준비된 'http_to_mongodb' 워크플로는 스트림 데이터를 받아 배치 형태의 저장소에 적재하는 과정을 실습하기에 적합합니다. 이 워크플로의 핵심 구성 요소인 HTTP 서버 리더는 특정 포트를 열어 외부에서 유입되는 데이터를 실시간으로 받아들일 준비를 합니다. 사용자는 로컬호스트의 53001번 포트를 통해 데이터를 수송하며, 이렇게 수집된 정보는 MongoDB 라이터를 거쳐 지정된 컬렉션에 체계적으로 저장됩니다. 이 과정은 데이터 연산 처리 전, 소스로부터 정보를 안전하게 확보하는 기초적인 단계를 잘 보여줍니다. 적재된 데이터가 실제로 저장소에 잘 들어갔는지 확인하는 과정은 개발의 신뢰성을 높여줍니다. MongoDB에 접속하기 위해서는 터미널에서 Docker 환경 내부로 진입한 후 명령어를 사용해야 합니다. 'use examples' 명령어로 해당 데이터베이스를 선택하고, 'show collections'를 통해 생성된 컬렉션을 확인한 뒤 'find' 명령어를 입력하면 저장된 JSON 형태의 데이터를 직접 조회할 수 있습니다. 쉘 스크립트를 이용해 보낸 데이터가 현재 시간 정보와 함께 MongoDB의 특정 컬렉션에 정확히 쌓여있는 것을 확인하는 것은 스트림 데이터를 배치 형태로 전환하여 관리하는 기술의 핵심을 이해하는 데 큰 도움을 줍니다. 다음 단계는 스트림 데이터를 수집하여 다시 스트림 형태의 저장소인 Kafka에 적재하는 실습입니다. 이 과정에서는 'Stream to Stream' 엔진이 사용되며, 리더는 이전과 동일한 HTTP 서버 리더를 사용하지만 라이터는 Kafka 라이터로 변경됩니다. Kafka를 활용하기 위해서는 부트스트랩 서버, ZooKeeper 커넥트, 그룹 ID, 그리고 토픽 ID와 같은 필수 속성들을 정확히 설정해야 합니다. 토픽은 스트림 데이터가 쌓이는 일종의 큐 역할을 수행하며, 데이터를 처리할 때 해당 토픽에서 정보를 주기적으로 읽어오는 방식으로 동작합니다. 이는 대규모 분산 환경에서 실시간 데이터를 관리하고 저장하는 현대적인 데이터 처리 방식을 보여줍니다. 스트림 처리 외에도 기존에 저장된 대용량 파일을 다른 저장소로 한 번에 옮기는 배치 대 배치 적재 실습도 중요합니다. 'CSV_to_MongoDB' 워크플로는 로컬 저장소에 저장된 CSV 파일을 읽어 MongoDB에 적재하는 과정을 보여줍니다. 여기서는 파일 리더가 사용되며, 파일 경로 속성에 지정된 데이터를 한꺼번에 읽어들입니다. 이 실습에서는 배치 더미 엔진과 컨트롤러를 활용하여 데이터 처리가 완료되면 자동으로 작업 상태가 'Finished'로 변경되는 과정을 관찰할 수 있습니다. 수많은 행을 가진 데이터 세트가 파일 시스템에서 데이터베이스로 순식간에 이동하는 과정은 정형 데이터를 다루는 배치 처리의 효율성을 증명합니다. 이처럼 BeeAI는 다양한 소스로부터 데이터를 수집하고 이를 목적에 맞는 다양한 데스티네이션에 적재할 수 있는 유연한 기능을 제공합니다. 스트림 데이터를 배치 저장소에 저장하거나, 스트림 데이터 그대로 Kafka와 같은 메시지 큐에 전달하고, 대용량 파일을 데이터베이스로 마이그레이션하는 모든 과정이 워크플로 기반으로 직관적으로 수행됩니다. 리더와 라이터, 그리고 이를 제어하는 러너와 컨트롤러의 조합을 통해 사용자는 복잡한 코딩 없이도 데이터 파이프라인의 기초를 구축할 수 있습니다. 이러한 수집 및 적재 기술은 이후 단계에서 진행될 정교한 데이터 분석과 처리를 위한 든든한 밑바탕이 됩니다.

BeeAI 활용 교육 영상(02) - [1단계] 데이터 수집 및 적재하기
한국전자통신연구원
  • 공학·기술