Skip to content

HwangHanJae/Twitter-Sample-project

Repository files navigation

트위터 API를 이용한 데이터 파이프라인

  • 프로젝트의 더 자세한 내용은 블로그에 포스팅하였습니다.

프로젝트 환경

프레임워크의 환경구성은 각 폴더에 저장하였습니다.

프로젝트 설명

트위터 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 작성
    • TASK1 : embulk를 이용하여 MongoDB에서 데이터 추출 및 hdfs에 저장
    • TASK2 : hive를 이용하여 데이터 구조화 및 테이블 생성
    • TASK3 : presto를 이용하여 데이터 집계 및 csv 파일로 저장

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published