Cute Hello Kitty 13 [Alpha Project] 2. 파이프라인 설계 및 구현과정

스터디/Project

[Alpha Project] 2. 파이프라인 설계 및 구현과정

검은콩맛두유 2025. 11. 28. 14:05

1. Ingestion (데이터 수집)

목표

  • 다양한 소스로부터 데이터를 수집하여 HDFS(Hadoop Distributed File System)에 저장.

구현 내용

  • 데이터 소스: 예시로 웹 로그 파일(access_log)을 사용.
  • 데이터 업로드:
    • 로컬 파일에서 HDFS로 업로드.
    • 명령어
hdfs dfs -put /local/path/to/access_log /user/hive/warehouse/

도구 역할:

  • HDFS: 데이터의 중앙 저장소로 활용.
  • 데이터 포맷: 텍스트 파일 기반의 로그 데이터를 저장.

2. Slow Storage / Direct Data Lake Access

목표

  • 데이터를 HDFS에 저장하고, 분석 준비를 위한 데이터 구조화를 진행.

구현 내용

  • Hadoop HDFS:
    • 로그 데이터를 저장하여 데이터 레이크로 활용.
    • 디렉토리 구조:
/user/hive/warehouse/

 

  • Hive External Table:
    • HDFS에 저장된 데이터를 Hive 외부 테이블로 정의하여 접근 가능.
    • 테이블 생성 SQL:
CREATE EXTERNAL TABLE access_logs (
    ip STRING,
    `timestamp` STRING,
    request_method STRING,
    url STRING,
    protocol STRING,
    status INT,
    response_size INT,
    response_time INT,
    referrer STRING,
    user_agent STRING,
)
STORED AS TEXTFILE
LOCATION '/user/hive/warehouse/access_logs/';

3. Batch Processing and Analytics (배치 처리 및 분석)

목표

  • 대량 데이터를 Hive를 통해 쿼리하고 분석 가능한 상태로 가공.

구현 내용

  • Hive:
    • SQL 기반 쿼리를 통해 데이터 분석.
    • 예: 상태 코드별 요청 수 집계.
SELECT status, COUNT(*) AS request_count
FROM access_logs
GROUP BY status
ORDER BY request_count DESC;

 

  • Hadoop MapReduce와 Hive 통합:
    • 배치 처리 엔진으로 Hadoop MapReduce 사용.
    • Hive 쿼리를 실행하면 MapReduce가 동작하여 데이터를 분석.

5. Data Warehouse

목표

  • 데이터를 Presto를 통해 빠르게 쿼리하고 BI 도구와 연동 가능하게 설정.

구현 내용

  • Presto:
    • Hive 테이블을 Presto에서 접근하여 실시간 데이터 쿼리.
    • Presto CLI 명령어:
presto --server localhost:9090
  • Presto 쿼리 예:
SELECT ip, COUNT(*) AS request_count
FROM access_logs
GROUP BY ip
ORDER BY request_count DESC
LIMIT 10;

5. Data Consumers (데이터 소비)

목표

  • 분석된 데이터를 데이터 소비자가 활용할 수 있도록 제공.

구현 내용

  • Presto 연동:
    • BI 도구(Tableau, Power BI 등)와 Presto 연결.
    • Presto를 통해 실시간 데이터 분석 결과를 시각화.
  • 결과 활용:
    • 데이터를 기반으로 대시보드 생성.
    • 분석 보고서 작성.

연결 및 데이터 흐름

Hadoop HDFS 데이터 레이크 역할로 대량의 원시 데이터를 저장
Hive HDFS에 저장된 데이터를 구조화하고 SQL로 분석
Presto Hive 테이블을 빠르게 쿼리하여 실시간 분석 제공
Data Consumers Presto 쿼리 결과를 BI 도구와 연동하여 데이터 시각화