Data Pipeline
Riot Data Pipeline 구축하기 #7 - HDFS에 저장된 JSON 데이터로 Hive 테이블 생성하기
Riot 데이터를 수집해서 최종적으로 HDFS에 저장하는 과정까지 성공했습니다( 비록 미흡한 점이 상당히 많지만.... ). 이제는 저장된 데이터를 기반으로 Hive 테이블을 생성하는 과정을 진행하겠습니다. Docker Compose에 Hive 서비스 추가 Kafka에 있는 데이터를 HDFS에 저장하기 위해 Docker Compose에 Spark와 HDFS 서비스들을 추가했었습니다. 이번에는 동일한 Docker Compose에 Hive 서비스를 추가하겠습니다. docker-compose.yml version: '2' services: spark-master: image: bde2020/spark-master:2.4.0-hadoop2.8 ports: - "8080:8080" - "7077:7077" env..
Riot Data Pipeline 구축하기 #6 - Spark Streaming으로 Kafka Consumer 구현 및 HDFS에 데이터 저장하기
지난 글에서 Spring을 통해 Match 정보를 Kafka에 전송하는 과정까지 진행했습니다. 이번 글에서는 Kafka에 쌓인 데이터 확인과 Spark Streaming으로 Kafka Consumer를 구현하는 과정을 진행하겠습니다. Kafka Topic 확인하기 Kafka Manager를 이용하면 Kafka 클러스터와 Topic 모니터링을 효율적으로 할 수 있습니다. Kafka 서비스를 위한 docker compose의 Kafka Manager 웹 GUI를 보면 아래와 같습니다. ( Kafka Cluster 등록 과정 필요 ) Topic 정보 또한 확인이 가능합니다. GUI가 없다면 직접 터미널에서 명령어를 통해 확인해야만 합니다. 하지만 Kafka Manager를 통해 쉽게 정보들을 확인할 수 있습니..
Riot Data Pipeline 구축하기 #4 - API response 데이터 저장 타입 변경 및 Kafka 클러스터 생성
이번 글에서는 이전 글에서 작성했던 필요한 API를 모두 구축하고 개발하면서 변경이 필요했었던 부분에 대해서 다루도록 하겠습니다. 그리고 docker compose를 이용한 Zookeeper를 포함한 Kafka 클러스터를 생성하도록 하겠습니다. Riot API 호출 구현과 문제 상황 분석하는데 필요하다고 생각한 Riot API에 대해서 모두 구현을 완료했습니다. Riot API 리스트는 아래와 같습니다. 소환사 이름으로 계정 조회 : /lol/summoner/v4/summoners/by-name/{summonerName} 소환사 puuid로 match id 조회 : /lol/match/v5/matches/by-puuid/{puuid}/ids match id로 해당 match 정보 조회 : /lol/ma..
Riot Data Pipeline 구축하기 #3 - 필요한 Riot API 리스트 정리 & 플랫폼 아키텍처 설계
이번 글부터는 분석을 위한 데이터의 API를 알아보고 대략적인 아키텍처 설계를 해보겠습니다. 처음 진행하는 프로젝트이고 아직 제가 안써본 것들이 많기 때문에 진행하면서 지속적으로 바뀔 수 있습니다. 하지만 가장 먼저 설계를 하고 틀을 잡아야 목표를 잡을 수 있을 것 같아서 대략적으로 진행했습니다. 필요한 Riot API 리스트 지난 글에서는 닉네임을 통한 계정 조회 API를 구현해봤습니다. 이어서 필요한 API를 더 조사해봤습니다. 다양한 API들이 존재했지만, 계정 정보와 해당 계정이 플레이한 match, match의 디테일한 내용을 얻을 수 있는 API를 추렸을 때 아래와 같이 4개의 API가 필요로 하는 서비스였습니다. 소환사 이름으로 계정 조회 : /lol/summoner/v4/summoners/..