AWS

크롤링한 결과 AWS RDS에 저장하기

짤진이 2024. 1. 6. 22:04
반응형

일단 완성까지 6시간이 걸렸다,,,

시간이 왜 이렇게까지 많이 걸렸는지 생각을 해봤는데 전체적인 흐름이 이해가 가지 않았기 때문인 것 같다. 

 

RDS를 생성했다는 가정하에 ssh에서 rds와 연결을 하는 것과 mysql workbench에서 rds를 연결하는 것은 같다고 결론을 내렸다.

크롤링한 데이터를 rds에 넣는 흐름이 가장 이해가 가지 않았는데 지금 생각해보면 크롤링 후 데이터베이스를 선택한 후 크롤링된 데이터를 컬럼별로 넣어주기만 하면 되는 것이었는데 뭐가 그렇게 심오했나 싶다.

 

1. mysql workbench에서 생성한 rds를 연결시켜준다.

hostname은 aws rds의 엔드포인트를 넣어주면 된다.

2. 잘 연결되었는지 확인을 해보려면

CREATE TABLE books (title text, url text)
select * from books

를 했을 때 값이 잘 나오면 된 것이다.

3. 아니면 ssh환경에서 확인을 하려면 인스턴스에 접속한 후 mysql -u admin -p -h "엔드포인트"(쌍 따옴표 제외)를 치면 

위와 같은 mysql>이라는 것이 나온다.

새로운 데이터베이스를 만들어준다. 데이터베이스 관련해서는 mysql workbench와 ssh환경 두 군데 어디서나 해도 된다.

CREATE DATABASE your_database_name;

show databases;를 하면 데이터베이스를 보여준다(명령어를 칠 때 세미콜론을 안 붙이면 실행이 안된다)

일단 데이터 베이스를 만든 후 주피터 환경으로 다시 접속한 후 app.py를 수정했다.

app.py로 들어가서 추출한 id와 링크 값들을 데이터베이스에 넣어주는 코드를 작성한 후 다시 데이터베이스를 출력하면 아래처럼 값들이 제대로 들어가게 된다.

반응형