seoyeong200 / Book-data-Pipeline

책 줄거리를 기반으로 비슷한 책을 추천해주는 서비스를 위한 데이터 파이프라인입니다. 도커 환경에서 파이프라인을 구성하여 스파크를 사용해 배치 데이터를 처리합니다.
1 stars 0 forks source link

Scrapping Lambda failure #8

Closed seoyeong200 closed 6 months ago

seoyeong200 commented 8 months ago

issue

원인 파악, 검증

가능한 원인들

0. ~봇으로 감지~
1. 네이버에서 대량 스크래핑 코드 request를 차단하기 위해 aws 클라우드 ip범위를 막아놈
2. ~lambda에서 실행될 때 사용되는 user-agent 차단~
3. header, cookie 누락

취한 방법

로컬에서는 잘 동작하니 일단 랩탑 리소스 써서 데이터를 수집하고 있다. 로컬 환경에서 최대한 최적화를 해볼 수 있는 방법을 생각해보면

seoyeong200 commented 8 months ago

Status

self feedback

  1. 컨테이너 싱글로 떠서 진행 메모리 터질 것 같아서 그냥 원타임원컨테이너(?)로 실행하는데 막상 테스트를 돌려보니 Screenshot 2024-01-25 at 4 41 20 PM

    리소스가 넉넉하다. 한 4개는 병렬로 돌려도 될듯

-metatable 기준으로 중복 적재 배치는 다시 안돌아가게 하니까 랩탑으로 수집해도 중간에 프로세스 끊고 나중에 재실행해도 된다! 편하고 좋다 굿

TODO

seoyeong200 commented 8 months ago
Screenshot 2024-01-25 at 8 33 01 PM

3개 병렬 실행 기준 평균 2.5GB 정도의 메모리를 사용 concurrent level 더 높게 잡고 돌려도 될듯

seoyeong200 commented 8 months ago
Screenshot 2024-01-25 at 10 27 56 PM

invoke.sh 실행할 때 concurrency level 아규먼트로 줘서 해당 수만큼 병렬로 스크래퍼 실행되도록 수정

6개 병렬로 돌렸을 때 리소스가 이정도 소모됨, 가상머신에 램 조금 더 줘서 8~9 까지 올려서 수집해도 좋을 것 같다. 데이터 수집 실행시간 진짜 단축 많이 될듯 ..네이버쇼핑한테 차단당하는거 아닌가 걱정이

각도 지으셨으니 이 정도 트래픽은 봐주시겟지......