개인프로젝트 7

실시간 데이터 프로젝트 회고

*github repo 주소 https://github.com/kyounghunJang/twitter_streaming_project 처음으로 개인 프로젝트를 완성시켜서 너무 뿌듯한 느낌이 들었다. 아직 많이 부족하지만 그래도 조금은 이런 프로젝트들의 흐름이라고 해야 할까? 어떤 방식으로 구성해야 하는지 큰 그림을 구성하는 게 다음 프로젝트 때는 조금 더 수월할 것 같다. 이번 프로젝트를 하면서 내가 힘들었던 부분, 성공적으로 한 부분을 한번 KPT회고로 작성해보려 한다. *KEEP logstash에서 중복관리를 위해 fingerprint 옵션을 사용했는데 매우 간편하고 중복 관리가 잘 돼서 좋았다. ELK stack을 사용해서 구축하다 보니 파이프라인을 구축하는데에 큰 어려움이 없고 확실히 이런 프로젝..

kibana dashboard 제작

우선 제작하기 전에 어떤 식으로 데이터 시각화를 할지 생각해봤다. 생각해본 구성은 다음과 같다 긍정적인 문장과 부정적인 문장을 보여준다 긍정적인 문장의 수와 부정적인 문장의 수를 카운팅 하는 시각화를 보여준다 긍정적인 문장에서의 word cloud와 부정적인 문장에서의 word cloud를 보여주면서 각각의 키워드를 눈에 잘 보이게 한다 위와 같은 구성으로 시각화를 한 순서를 포스팅해보려 한다 1. 긍부정 문장 데이터 테이블 생성 우선 긍정적인 문장과 부정적인 문장을 보여주기 위해서 data table 시각화를 사용하였고 필터는 앞서 Ingest pipeline에서 긍정, 부정으로 나눈 결과를 사용하였다. 여기서 시각화 조건을 보면 predict-probability가 0.8에서 1로 설정해주었고 감정분..

데이터 감정분석 파이프라인 구축

앞서서 데이터를 정리하는것 까지는 마무리했다. 이제 이 현재 실시간 날씨에 대해서 사람들이 긍정적인지 부정적인지를 알아보기 위해서 파이프라인을 구축하여 확인해 볼 것이다. https://www.youtube.com/watch?v=sG6eg6i0DC0&t=2103s 한국 Elastic 사용자 그룹 유튜브 링크 영상을 참고하여 구축했다. 1. python에서 meachine learning 모델 Elastic Search로 저장 #deploy_model.py import elasticsearch from pathlib import Path from eland.ml.pytorch import PyTorchModel from eland.ml.pytorch.transformers import Transformer..

Logstash 실시간 데이터 처리

우선 이전 포스팅인 "날씨" 키워드를 사용해서 데이터를 수집한 결과 위의 이미지와 같이 데이터가 저장되는 것을 알 수 있었다. 여기서 내가 필요한 부분을 한번 정리해서 나타내면 아래와 같다 *필요한 필드 또는 수정해야 하는 필드 정리 message -> 기본적인 텍스트 데이터가 저장되는 부분이며 데이터를 보면 리트윗된 데이터는 RT @email 형식으로 내 프로젝트에 필요 없는 데이터 형식이 들어가 있으므로 이 부분을 정리해줄 필요가 있다. 추가적으로 뒤에 링크가 붙는 경우가 있는데 이 부분 또한 제거해줘서 순수한 텍스트 부분만을 정리해 data필드에 모은다. @timestamp -> 현재 timestamp시간은 UTC로 적용되어 있는데 한국시간은 UTC+9이므로 한국시간인 필드를 새로 추가해 줘야한다...

twitter 실시간 데이터 python으로 저장하기

우선 앞서서 docker로 개발환경을 성공적으로 만들었었다. 그렇다면 이제는 트위터 api의 데이터가 어떤 식으로 불러와지는지 먼저 확인하는 작업이 필요하다고 생각한다. 데이터가 어떤 식으로 들어와 지는지 부터 한번 확인해 봤다. 1.python 트위터 데이터 logging으로 저장하기 #send_data.py import requests import os import json import logging def bearer_oauth(r): r.headers["Authorization"] = f"각자의 twitter api bearer 코드입력" r.headers["User-Agent"] = "v2FilteredStreamPython" return r def get_rules(): response = r..

[docker] python+filebeat+elk 환경 만들기

1. 프로젝트 폴더 기본 구조 설계 elasticsearch elasticsearch.yml logstash config pipeline templates kibana kibana.yml filebeat filebeat.yml python Dockerfile models lib.txt docker-compose.yml mylog 우선 기본적인 ELK의 설정파일인 .yml 파일들은 관리하기 편하게 하기 위해서 볼륨 마운트를 하여 설정하며 logstash의 경우에만 pipeline, templates을 따로 보관하여 vscode에서 작성하는 게 편하고 직관적이라고 생각하여 따로 분류해서 마운트 시켰다. 또한 python 같은 경우에는 모듈을 다운받아야 하기 때문에 Dockerfile을 이용해서 필요한 모듈을..

1.프로젝트 개요

*프로젝트명 : 날씨에 대한 실시간 데이터 분석 프로젝트 계기: 『엘라스틱 스택 개발부터 운영까지』 책을 통해서 알게 된 ELK stack에 대한 개념과 책에 있던 실습내용들을 종합해서 파이프라인을 만들어보면서 나의 ELK stack에 대한 이해와 활용 능력을 향상시키고 싶어서 프로젝트를 시작하게 되었다. 주제 선정 이유 : 처음에는 망사용료에 대한 사람들의 찬반의견에 대해서 분석해보려고 했으나 실시간 데이터가 수집되지 않아서 현재 환절기이기도 하며 변덕스러운 날씨에 대한 사람들의 실시간 트윗을 분석해보고자 한다. *파이프라인 구성 수집 - twitter api -> python -> filebeat 변환, 전송 - logstash 저장, 인덱싱 - elasticsearch 시각화 - kibana 인프라..