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 도구와 연동하여 데이터 시각화 |
'스터디 > Project' 카테고리의 다른 글
| [Alpha Project] 4. 데이터 분석 및 결과 (0) | 2025.12.02 |
|---|---|
| [Alpha Project] 3. Sample log 데이터 분석 (0) | 2025.11.28 |
| [Alpha Project-스터디] Hadoop, HDFS, Hive, Presto (0) | 2025.11.28 |
| [Alpha Project-스터디] 클라우드 데이터플랫폼 아키텍쳐 (0) | 2025.11.28 |
| [Alpha Project] 1. 프로젝트 소개 및 진행 과정 (0) | 2025.11.28 |