반응형

데이터 엔지니어링 프로젝트 및 인강 28

Spotify Project 03. 프로젝트 진행위한 API 관련 사항

현재 진행하고 있는 프로젝트는 페스트 캠퍼스에서 듣고 있는 인강인 한승수 강사님의 데이터 엔지니어링 강의를 다시한번 복습하고 내재화하고자 진행하는 프로젝트인 점 참고바란다. Spotify 프로젝트는 rest API 를 통해서 웹사이트에서 내가 Spotify 에서 필요한 정보를 가져오는 방식이다. Spotify 에서 api 를 가져오는 방식으로는 GET 방식이 많이 사용되는데, GET 방식 말고도 API 와 통신을 하는 Method 가 몇가지 더 있어 사전 숙지 및 추후에도 공부하기 위해 여기에 기록한다. Method 내용 GET 해당 리소스를 조회하고 정보를 가져온다 HEAD GET 방식과 동일하나 응답코드와 HEAD 만 가져온다 POST 요청된 리소스를 생성한다 PUT 요청된 리소스를 업데이트 한다 D..

Spotify Project 02. aws 사용하기에 앞서 설정해두어야 할 것(aws cli)

aws 를 사용하기에 앞서 나의 컴퓨터에서 바로 aws 와 통신하여 나의 컴퓨터에서 바로 aws 에 연결될 수 있게 설정해주는 작업을 해야하는데, 그 작업을 위해 aws cli 가 필요하다. ** 아래 과정을 진행하기 위해서는 python이 설치되어 있어야만 한다 ** anaconda 파이썬을 설치할 경우에는 아래 과정이 진행되지 않으므로 오리지널 파이썬을 설치한 상태해서 아래 과정을 진행하는 것이 좋다. (나는 python 3.7 을 설치했다) 1. aws cli 를 인스톨 한다. 윈도우 10에서 진행을 했기 때문에 powershell 을 사용하여 프로젝트를 위해 사용하는 경로에서 바로 접속할 수 있게 인스톨 했다. > pip install awscli --upgrade --user https://do..

Spotify Project 01. 이번 프로젝트의 목표

프로젝트 목표 인강에서 배운 프로세스를 바탕으로 직접 데이터 파이프라인을 설계 구축해본다. AWS 클라우드 서비스를 활용하여 Severless 프레임 워크에 대해서 이해한다. 사용할 API Spotify developer api https://developer.spotify.com/dashboard/applications My Dashboard | Spotify for Developers Create and manage Spotify Applications to use the Spotify Web API. Obtain credentials to authenticate with Spotify and fetch metadata. developer.spotify.com api 에 대한 이해 spotify 는 ..

Side Project 05( Final ). Naver Shopping 정리

처음 이 프로젝트를 시작할 때의 목표는 데이터 엔지니어가 하는 업무에 대해서 간단하게 이해해보자는 것이었다. 데이터 엔지니어는 데이터를 추출하고 (Extract) 가공하고 (Transform) 로드하는(Load) 전 프로세스를 설계하고 관리하는 직무이기 때문에 이 분야에 발을 담그게 된 이상, 이 업무 프로세스를 이해하는 것이 가장 중요하다고 판단했다. 위의 이유로 인해 거창한 것을 생각하기도 했으나.. 그것은 차츰 발전시켜 나가기로 하고. 우선 간단하게나마 내가 ETL 파이프라인 설계 구현에 초점을 맞추고 프로젝트를 진행하기로 했다. 1. 파이프라인의 전체적인 흐름 이번에 설계한 파이프라인의 전체적인 흐름은 위의 이미지와 같다. 데이터 쪽에 대규모로 투자할 여건이 되지 않는 스타트업에서 파이프라인을 설..

Side Project 04( Final ). Colab 을 통해 최종적 파이프라인 구축하기x

이제 마지막으로 colab 을 통해서 aws RDS 에 있는 데이터를 추출하여 데이터 분석에 쓰일 수 있게 가공하려고 한다. Colab 을 사용한 이유는 구글 드라이브를 통해 쉽게 공유를 할 수 있을 뿐만 아니라 다른 직원들이 사용하는 컴퓨터에 파이썬, 아나콘다 등을 깔지 않아도 되기 때문이다. 즉, 클라우드 시스템인 Colab 을 통해서 인터넷만 되고 노트북만 있으면 어느 장소에서든 접속을 하여 데이터 분석을 진행할 수 있기 때문이다. mysql 에 축적해놓은 데이터들을 colab을 통해 가져와 데이터 분석에 주로 사용되는 라이브러리인 판다스 데이터프레임으로 변환하는 함수를 만들었다. import pandas as pd import numpy as np import pymysql import loggi..

Side Project 03. AWS 에 데이터 넣기

저번까지 해서 원하는 데이터들을 긁어오는 데에는 성공했다. 이제 이를 AWS 에 넣어보고자 한다.. 우선, AWS 의 RDS 에 들어가서 새로운 데이터베이스를 생성해준다. 이때 데이터 베이스의 선정 기준은 아래와 같다 1. 나에게 익숙한가 2. 현업에서 많이 사용하고 있는가 3. 저장하고자 하는 데이터의 형태는 무엇인가 총 3가지 이다. 이에 대한 답변은 우선 MYSQL 은 현재 회사에서도 사용하고 있기에 익숙한 DB이며, 현업에서도 가장 많이 사용하기 시작한 DB 이다. 그리고 무엇보다도 저장하고자 하는 데이터는 RDS 형태이므로 RDS 에서 빠른 처리속도를 보여주는 MYSQL 을 선택했다. 그리고 난 후에는 mysql 의 워크벤치에 aws 와 연결을 해주어 mysql 을 활성화 시켰다. 그리고 mys..

Side Project 02. 네이버 쇼핑 데이터 수집 함수 만들기

생성한 client id 와 client secret 를 바탕으로 본격적으로 네이버 쇼핑 데이터를 수집한다.. 기본적으로 api 정보를 넣고 이를 바탕으로 자료를 다운받아오는 것은 네이버 developer 에 있는 api 적용 가이드를 참고했다. 아래 참고 링크 공유한다. https://developers.naver.com/docs/datalab/shopping/#%EC%87%BC%ED%95%91%EC%9D%B8%EC%82%AC%EC%9D%B4%ED%8A%B8-%EB%B6%84%EC%95%BC%EB%B3%84-%ED%8A%B8%EB%A0%8C%EB%93%9C-%EC%A1%B0%ED%9A%8C 쇼핑인사이트 API 적용 가이드 쇼핑인사이트 API는 '네이버 데이터랩'의 '쇼핑인사이트'를 API로 실행할 수 ..

Side Project 01. 네이버 developer api 생성하기

네이터 쇼핑 트렌드를 분석해보고자 한다.. 하지만, 데이터 엔지니어를 목표로 하고 있기 때문에 이번에는 그동안 배운 것들을 바탕으로 네이버 쇼핑 API 를 통해 쇼핑 데이터를 수집하고자 한다. 우선 네이버 developer에 들어가서 네이버 쇼핑 api 를 수집했다. 먼저, 네이버 developer에 들어가서 네이버 api 를 이용하는데 필요한 client id 와 client secret 를 발급받는다. 나의 경우는 쇼핑 api 를 사용할 것이기 때문에 사용 api 는 네이버 쇼핑으로 설정해주었다. 생성한 이후에는 아래 이미지와 같이 client it 와 client secret 를 볼 수 있다. 그러면, 네이버 api 수집을 위한 기본적인 준비는 끝났다. 참조자료: https://m.blog.nave..

Side Project 00-1. 이번 사이드 프로젝트의 목표

이번 사이드 프로젝트의 목표는 다음과 같다. 처음 시작하는 것이니 만큼. 데이터 파이프라인의 구축에 이르는 일련의 과정 만드는 데 감을 잡고 더 나아가 간단하게 분석까지 해보고자 한다. 프로젝트 목표 - 성별 / 연령별 트렌드 데이터 수집 및 분석 프로세스 구축 최종 소비자 - (가상의 스타트업) 데이터 분석가들 데이터 수집의 목적 - 네이버 쇼핑 데이터에서 발생하는 트래픽 분석 - 트렌드 변화추이를 분석함으로써 향후 카테고리 진출에 대한 인사이트를 얻고자 함 파이프라인 구현 목표 - 매일 정해진 시간에 전날의 트랜드 데이터를 가져와서 축적하는 시스템 구축 - AWS 를 이용하여 비용과 시간을 절약하고 장소에 구애받지 않는 효율적인 수집-분석 시스템 구축 - 데이터 초기화에 대비한 백업 데이터 베이스를 ..

RASA 오픈소스 를 통해 간단한 챗봇 구축하고 훈련하기 04

두번째 포스트까지는 기본 챗봇을 만들 수 있는 방법을 알려드렸습니다. 이번 포스트는 두번째 포스트를 기반으로 챗봇을 조금이나마 한단계 업그레이드 할 수 있는 단계로 반드시, 따라하지 않으셔도 됩니다. 챗봇에서는 slot filling(슬롯 채우기)라는 기능이 있습니다. 슬롯 채우기는 몇개의 정보를 알아내어야 챗봇이 답을 줄 수 있을 때, 그 몇개의 정보(slot)들을 다 채워 넣는 것(filling)으로 모든 슬롯이 다 채워질때까지 질문을 하는 것입니다 챗봇은 슬롯에 필요한 정보들을 다 채우면 사용자가 원하는 정보를 출력해 줄수 있습니다. rasa 에는 3가지 정도의 슬롯 필링이 있다고 알고 있는데요 오늘은 그 중 하나인 action.py 파일을 활용하여 슬롯 채우기를 실행 할 수 있는 방법을 하려고 합..

반응형