반응형
🟧 8편. 데이터 적재 파이프라인 구축 – Sqoop/Oozie/Spark Batch 실전
금융권 Hadoop 플랫폼의 데이터 적재는 단순 “ETL”이 아니다.
보안·운영·스케줄·감사 로그까지 충족해야 하는 구조이기 때문에 설계 자체가 까다롭다.
현업에서 직접 구축했던 사례 기준으로 “그대로 적용 가능한 수준”으로 정리했다.
■ 1) 전체 적재 파이프라인 구성도
[출발] → OLTP(RDB)
│
▼
Sqoop Import
│
▼
HDFS Raw Zone
│
▼
Spark Batch(정제)
│
▼
Hive 테이블(분석/모델링)
│
▼
BI / ML / API
금융권에서는 Raw → Refined → Mart 3계층을 거의 반드시 사용한다.
■ 2) Sqoop 기반 RDB → HDFS 적재 예시
하루 500만 건 적재하던 실제 스케줄링 예시.
sqoop import \
--connect "jdbc:mysql://10.10.1.21:3306/bank" \
--username user \
--password-file /user/bank/.passwd \
--table transaction_log \
--target-dir /data/raw/transaction_log/dt=2024-01-01 \
--incremental append \
--check-column updated_at \
--last-value "2024-01-01 00:00:00" \
--as-parquetfile \
--num-mappers 4
실무 팁: 금융권은 비밀번호 평문 금지 → password-file 사용이 필수다.
■ 3) Spark 정제(Refined Zone 생성) Job 예시
df = spark.read.parquet("/data/raw/transaction_log/dt=2024-01-01")
df2 = df.select(
"cust_id",
"amount",
"txn_type",
"merchant",
to_date("txn_time").alias("dt")
)
df2.write.mode("overwrite").partitionBy("dt").parquet(
"/data/refined/transaction/"
)
■ 4) Oozie 스케줄링 워크플로우 예시
<workflow-app name="transaction-workflow" xmlns="uri:oozie:workflow:0.5">
<start to="sqoop-node"/>
<action name="sqoop-node">
<sqoop xmlns="uri:oozie:sqoop-action:0.2">
<command>import --connect ...</command>
</sqoop>
<ok to="spark-node"/>
<error to="fail"/>
</action>
<action name="spark-node">
<spark xmlns="uri:oozie:spark-action:0.2">
<master>yarn</master>
<mode>cluster</mode>
<name>TxnSparkJob</name>
<jar>spark-job.jar</jar>
<class>com.bank.job.TxnJob</class>
</spark>
<ok to="end"/>
<error to="fail"/>
</action>
<kill name="fail">
<message>Workflow failed</message>
</kill>
<end name="end"/>
</workflow-app>
■ 실전 TIP 3개
① Sqoop은 동시 접속 과다 시 원본 DB 부하를 준다
→ 금융권에서는 DB Connection Pool을 반드시 DBA와 사전 협의해야 한다.
② Spark 정제 시 컬럼 스키마를 명확히 유지하라
→ 스키마 drift 발생 시 BI 매트릭스에서 오류 발생함.
③ 적재 실패 시 “부분 완료 체크포인트”를 저장해둬라
→ 다음 실행 시 중복 적재를 막고 복구 속도가 빨라진다.
🟦 금융권 하둡(Hadoop) 아키텍처 시리즈 (전 10편)
- 1편 — 금융권은 왜 하둡을 쓰는가: 도입 배경과 진화
- 2편 — 하둡 구성도: HDFS·YARN·Hive·Spark 운영 흐름
- 3편 — 운영 자동화 스크립트 모음 (금융권 표준)
- 4편 — 하둡 보안 아키텍처: 계정·권한·감사·데이터 보호
- 5편 — Job Template·배포 체계 표준화
- 6편 — Hadoop + Kafka 실시간 분석 아키텍처
- 7편 — 클러스터 운영 체계: 폐쇄망·보안·권한 관리
- 8편 — Sqoop·Oozie·Spark Batch 적재 파이프라인 (현재 글)
- 9편 — 실사용 ①: 신용평가 / 여신 리스크 모델링
- 10편 — 실사용 ②: FDS 이상거래탐지 로그 분석
반응형
'빅데이터 플랫폼 & 아키텍처' 카테고리의 다른 글
| 10편. 금융권 실사용 예시 ② FDS(이상거래탐지) 로그 분석 (0) | 2025.12.01 |
|---|---|
| 9편. 금융권 실사용 예시 ① 신용평가 / 여신 리스크 모델링 (0) | 2025.12.01 |
| 7편. 금융권 하둡 클러스터 운영 체계 – 내부망·보안·권한 관리 완전 가이드 (0) | 2025.11.28 |
| 6편. Hadoop + Kafka 기반 실시간 분석 아키텍처 – End-to-End 구현 가이드 (0) | 2025.11.28 |
| 5편. Hadoop 운영 자동화 – 스크립트·Job Template·배포 체계 표준화 (0) | 2025.11.28 |