- 프로젝트의 더 자세한 내용은 블로그에 포스팅하였습니다.
프레임워크의 환경구성은 각 폴더에 저장하였습니다.
- VirtualBox의 가상머신(VM) 사용
- 가상머신(VM)은
ubuntu-20.04
OS를 사용 - master 1개, slave 4개의 머신으로 구성
hadoop-3.3.4
spark-3.3.2
hive-3.1.3
presto-0.279
airflow-2.5.2
mongodb.4.4
java-8
python-3.8
트위터 API를 이용하여 2가지 방법으로 데이터 파이프라인을 구축하였습니다.
첫번째 방법은 spark를 이용하였습니다.
두번째 방법은 embulk, hive, presto, airflow를 이용하였습니다.
- 가상머신(VM) 5개를 생성하고 ubuntu-20.04를 설치하였습니다.
- 고정 IP를 부여하고 ssh를 설정하여 서로 통신하게 만들었습니다.
- Hadoop을 설치하고 완전 분산 모드를 세팅하였습니다.
- master VM에 mongodb.4.4를 설치하고 트위터 API를 이용하여 약 770만개의 데이터를 수집하였습니다.
- twitter_steaming.py
- 수집기간 : 2023-03-14 ~ 2023-03-21
- 데이터는 다음과 같이 구성됩니다.
- lang : 작성자의 언어
- created_at : 작성자가 트윗을 올린 날짜
- text : 작성자가 트윗한 글의 내용
- _timestamp : 현재 저장 시간
- spark 분산 환경 구축 및 hadoop yarn 위에서 spark 실행
- hdfs를 spark-warehouse로 이용하여 spark에서 만들어진 테이블을 저장
- pyspark를 이용하여 데이터 파이프라인을 구축하였습니다.
- airflow 설치 및 세팅
- airflow DAG 작성