본문 바로가기

Data Science : Study/2. Data Engineering (FastCampus)

5강-1. AWS DynamoDB 데이터베이스 생성 썸네일 DynamoDB AWS에서 제공하는 noSQL : dynamic schema - 테이블의 구조를 정의하지 않고도 데이터를 저장(유연성) - 필드의 지속적인 추가 가능 생성하기 1. AWS - 데이터베이스 - DynamoDB 2. 테이블 - 테이블 만들기 선택 3. 테이블명: 원하는 대로 설정 - 기본 키: 어떤 key 값을 가지고 빠르게 액세스할 것이냐. partition key. primary key. - 정렬 키: 기본 키 외에 key로 쓸 값 추가 가능. sort key. - 테이블 설정: 기본인 상태로 두지만, 설정 내용이 궁금하면 기본설정 제외시키면 확인 가능. +) 이후 인덱스 추가 가능(새로운 키를 추가, 인덱스 탭) 같은 테이블이지만 키가 다르기 때문에 해당 키로 조회하는 용량이 추.. 더보기
4강-8. Python API batch 형식으로 데이터 가져오기 썸네일 "파일로 데이터 가져오기"는 single item hit : artist 하나씩 url의 parameter에 넣어서 하나씩 requests 실행 (https://hellominji.tistory.com/66) "batch 형식"에서는 artist를 여러개 묶어서 requests 실행 (※모든 API가 이 기능을 제공하는 것은 아니다. get several artists(docs-web apis에서 확인)) 1. batch로 데이터 가져오기 현재까지 DB(artists 테이블)에 있는 id값을 모두 불러온다 cursor.execute("SELECT id FROM artists") artists = [] for (id, ) in cursor.fetchall(): artists.append(id) 50.. 더보기
4강-7. Python API 파일 형식으로 데이터를 여러번 요청하기 썸네일 Search API로 데이터를 검색할 때 artist명을 하나씩 입력해서 찾아야 했다. (https://hellominji.tistory.com/55) 3강-4. Python Search API 사용해보기 (Spotify) 썸네일 * Spotify Search API에 대한 상세한 설명은 url 참고할 것! https://developer.spotify.com/documentation/web-api/reference/#category-search ! 목표 검색어를 입력해서 데이터를 불러온다. 1. 필요한.. hellominji.tistory.com ! 목표 artist명을 파일에 모두 입력해놓고, 파일 형식으로 데이터를 여러번 요청하려고 한다. 파일로 데이터 가져오기 필요한 패키지 불러오기 imp.. 더보기
4강-6. DB에 데이터 넣기 (Python, Insert, Update) 썸네일 ! 목표 - API로 가져온 데이터를 DB에 INSERT - 중복 데이터가 INSERT되지 않도록 한다 - 데이터를 정확히 몰라도 INSERT되도록 한다 1. Hard coding : 하나씩 INSERT header 설정 후에 data INSERT 부분을 작성한다. (https://hellominji.tistory.com/54) 3강-3. Python API 토큰 가져오기 (Spotify) 썸네일 * Spotify API에 대한 상세한 설명은 url 참고할 것! https://developer.spotify.com/documentation/general/guides/authorization-guide/#client-credentials-flow ! 목표 API 사용을 위한 access token... 더보기
4강-5. Python에 mySQL DB 연결 썸네일 1. 필요한 패키지 불러오기 import pymysql 2. DB 연결을 위한 세팅 AWS - RDS에서 해당 값 확인 코드 맨 위에 변수 설정 host = port = username = # AWS RDS 생성 시 설정한 값 database = # AWS RDS 생성 시 설정한 값 (db명) password = # AWS RDS 생성 시 설정한 값 3. DB 연결 코드 작성 DB connect conn = pymysql.connect(host, user=username, passwd=password, db=database, port=port, use_unicode=True, charset='utf8') ※ 오류 발생. host → host=host 로 변경하니 성공했다. 연결된 DB와의 상호작용.. 더보기
4강-4. ERD (엔티티 관계도) 썸네일 ERD(엔티티 관계도) 데이터 모델링 설계 과정에서 사용하는 모델. weak - 다른 엔티티 없이 존재하지 못하는 엔티티 - 두 줄로 된 도형 Key primary key - 테이블에 하나밖에 없는 Uniq한 구별값. - 조건 : unique, not null, clustered index foreign key - 다른 테이블의 key. relation, matching을 위해. - 조건 : not unique, null ok unique key - 또 다른 인덱싱을 위한 key - 조건 : unique, null 하나는 가능(null도 하나의 값, 인덱스로 취급하는 것), non-clustered index Spotify 데이터 모델 그리기 데이터 중 우리가 사용하고자 하는 데이터만 가져와서 E.. 더보기
4강-3. SQL CREATE, ALTER, INSERT, UPDATE, REPLACE 썸네일 1. 데이터베이스 데이터베이스 생성 CREATE DATABASE fastcampus; 해당 데이터베이스 안으로 이동 USE fastcampus; 모든 데이터베이스 확인 SHOW DATABASES; 2. CREATE ERD를 참고하여 테이블 생성 - primary key, ENGINE, CHARSET 세팅 확인! CREATE TABLE artists (id VARCHAR(255), name VARCHAR(255), followers INTEGER, popularity INTEGER, url VARCHAR(255), image_url VARCHAR(255), PRIMARY KEY(id)) ENGINE=InnoDB DEFAULT CHARSET=’utf8’; 모든 테이블 확인 SHOW TABLES; 3... 더보기
4강-2. AWS에서 생성한 MySQL 데이터베이스 연결 썸네일 (이미지 깨지는 경우 클릭하여 확인바랍니다) 데이터베이스 연결하기 1. databases에서 endpoint 와 port 확인 2. mysql workbench 설치 & visual c++ 2019 설치 https://dev.mysql.com/downloads/workbench/ MySQL :: Download MySQL Workbench Select Operating System: Select Operating System… Microsoft Windows Ubuntu Linux Red Hat Enterprise Linux / Oracle Linux Fedora macOS Source Code Select OS Version: All Windows (x86, 64-bit) Recommended .. 더보기