Google Cloud Platform을 이용한 iPhone 7의 이슈(반응) 분석
Google Cloud Platform을 이용한 iPhone 7의 이슈(반응) 분석
Google Cloud Platform(GCP)을 이용하면 빅데이터 관련 지식이 없으면서도, 복잡한 Private Cloud 설치을 설치하지 않아도 보다 저렴한 비용으로 다양한 빅데이터를 수집하고 분석할 수 있다.
여러가지 데이터 분석이 있겠지만, 최근 iPhone 7이 한국에 출시되어서 이에 대해 Twitter에서는 어떤 이슈들(빅데이터 분석)이 나오고 있는지 분석해 보겠다.
SNS 상에서 iPhone 7 이슈 분석을 위해 GCP을 사용하고, 먼저 Twitter에서 데이터를 수집하면서 다른 SNS 서비스에서도 수집할 수 있도록 준비할 예정이다. 데이터 수집은 fluentd을 사용할 예정이다. 수집된 데이터는 필터링 및 재포맷되어 GCP의 Pub/Sub에 저장되며, DataFlow 서비스를 통해 자연어 분석 후 BigQuery 서비스을 이용해 데이터를 분석하여 다양한 챠트로 구체화 된다.
'빅데이터 로그 수집기, Fluentd 소개(https://mansoo-sw.blogspot.kr/2016/10/fluentd.html)' 글에서 fluentd는 input 단계에서 다양한 데이터 소스를 받아 들일 수 있기 때문에 'Twitter' 외에도 다른 SNS의 정보들도 수집할 수 있다. 그리고 output 단계에서 수집된 데이터를 GCP Pub/Sub로 보내기 위해서 'fluentd pub/sub plugin'을 설치해야 한다. 설치방법은 '빅데이터 로그 수집기, Fluentd 소개' 글을 참고한다.
1. Twitter Feed 수집 서버
fluentd에서 수집된 데이터를 GCP에서 분석하기 위해서는 아래 그림과 같이 Output 쪽에 Google Pub/Sub plugin을 설치가 필요하다.
fluentd 설치가 되었다면 간단하게 'td-agent-gem' 툴을 사용하여 plugin을 설치할 수 있다.
데이터를 수집하기 위해서는 td-agent.conf 파일을 수정해야 한다. td-agent.conf 파일은 다음 경로에 있다.
Twitter에서 데이터를 가져오기 위해서는 계정에 접근할 수 있는 권한 정보들이 필요한데, Twitter 계정에서 App을 생성하면 된다. App 생성은 Application Management 홈페이지에서 생성할 수 있으며, App을 생성하면 Consumer Key(API Key), Consumer Secret(API Secret), Access Token, Access Token Secret 등의 정보를 얻을 수 있다.
[작성중...]
fluentd 설치가 되었다면 간단하게 'td-agent-gem' 툴을 사용하여 plugin을 설치할 수 있다.
$ sudo td-agent-gem install fluent-plugin-gcloud-pubsub Successfully installed fluent-plugin-gcloud-pubsub-0.0.5 Parsing documentation for fluent-plugin-gcloud-pubsub-0.0.5 Done installing documentation for fluent-plugin-gcloud-pubsub after 1 seconds 1 gem installed
/etc/td-agent/td-agent.conf
2. Twitter App 생성
Twitter에서 데이터를 가져오기 위해서는 계정에 접근할 수 있는 권한 정보들이 필요한데, Twitter 계정에서 App을 생성하면 된다. App 생성은 Application Management 홈페이지에서 생성할 수 있으며, App을 생성하면 Consumer Key(API Key), Consumer Secret(API Secret), Access Token, Access Token Secret 등의 정보를 얻을 수 있다.3. Google API 관리자 - Google Cloud Access Token 생성
Google Cloud Access Token 생성은 API 관리자를 통해 생성할 수 있다.
자세한 것은 'Google Cloud Platform 에서 PUB/SUB 사용하기' 글을 참고한다.
4. Fluentd에 Input(Twitter)과 Output(GCP Pub/Sub) 설정
/etc/td-agent/td-agent.conf 에 다음 내용들을 추가한다.
type twitter consumer_key # 트위터 Consumer Key(API Key) consumer_secret # 트위터 Consumer Secret(API Secret) oauth_token # 트위터 Access Token oauth_token_secret # 트위터 Access Token Secret tag input.twitter.sampling # Required timeline sampling # Required (tracking or sampling or location # or user stream) keyword iPhone7 output_format nest # Optional (nest or flat or simple[default])type gcloud_pubsub project # GCP Project ID topic # projects/GCP_Project_ID/topics/twitter key # 다운로드 받은 Google Cloud Access Token JSON 파일 flush_interval 10 autocreate_topic false
댓글
댓글 쓰기