플레이데이터 부트캠프 데이터 엔지니어링 트랙 14주차 (9.5~.8)

안인균·2023년 9월 11일
0
post-thumbnail

이번주차부터 빅데이터 를 다루는데 사용되는 시스템 요소들에 대한 학습이 진행될 예정입니다. 앞으로 Hadoop, Hive, Spark 등에 대한 내용을 학습하는데, 이번주는 이들을 다루는 기본 배경이 되는 LinuxDocker 의 내용을 학습하였습니다. 이전과 다르게 프로그래밍 언어나 프레임 워크가 아니기 때문에 색다른 요소들이며 하나하나씩 새로 배우는 내용들이기 때문에 복습이 중요할 것 같습니다.

9.6 에는 휴가를 써서 수업은 불참했지만 학습 내용을 따라가는데 지장은 없었습니다.


이번주 학습 내용

  • Linux 설치, Ubuntu 환경을 설치하였습니다. 이에 따라 cmd 창에서 wsl or ubuntu를 통해
    리눅스 환경을 경험할 수 있었습니다.

  • Linux 의 기본 명령어 사용법 등을 학습하였습니다.

cd, pwd, ls, mkdir, rmdir, rm, cat, more, less, tail, cp, mv, find, whereis, which, vi, ...
  • 아마존 웹 서비스(AWS) 에 가입 후, EC2 생성, 아마존 클라우드 서비스를 사용하였습니다. Ubuntu 운영체제를 사용하고 Putty 프로그램과 FileZilla 프로그램을 통해 터미널 창과 파일 전송 등을 이용하였습니다.

  • 윈도우 환경에서 간단한 Spring boot 웹 프로젝트를 작성한 후 파일 질라를 통해 넘겨줘 해당 환경에서 실행까지 완료했습니다.

    • AWS 환경에 Java , Maven 등을 설치하고
    • 이클립스, VsCode 에서는 자바 실행 시 자동적으로 jar 파일이 생성되지만
    • 해당 환경에는 이와 같은 실행 툴이 없기 때문에 pom.xml 파일 있는 경로에서
    • mvn package -Dmaven.test.skip=true 와 같은 명령어를 통해 jar 파일을 생성해
    • 최종적으로 스프링 부트 웹 서버를 활성화 할 수 있었습니다.
  • AWS의 데이터베이스 RDS 서비스 통해 외부 데이터베이스 구축했습니다.

    • 인바운드 규칙에 port 3306 을 추가하고
    • 시간대 : 아시아/서울, character_set : utf-8 설정 등을 완료한 후
    • 이를 MySQL workbench 에서 연결하고
    • 앞으로 실습할 "영화 추천 웹" 에서 사용될 데이터베이스 및 테이블을 생성하였습니다.
  • 테이블 스키마

  • 해당 테이블에 저장될 데이터를 Naver 웹 페이지 검색창을 파이썬 seleniumwebdriver 을 통해 크롤링을 한 후 저장하였습니다.

    • 추출할 영화 리스트는 box_office_2023.xlsx 파일을 참고했고, 해당 원본 파일에서 성인 영화는 제외되었습니다.
    • selenium 을 통해 자동으로 영화 제목을 검색, 기본 정보 페이지 창을 띄우고 해당하는 html 요소를 찾아
    • 데이터를 추출하여 즉시 pymysql 을 이용해 테이블에 저장 완료 했습니다.
  • 데이터 저장 완료된 테이블


  • 이후 줄거리를 Word2Vec 을 통해 인코딩 하여 영화 추천 시스템을 구축할 예정이며 데이터 전처리를 진행하고 있었습니다.

하면서 느낀 점 (좋았거나 아쉬운 것들)

  • 새로운 학습을 위한 기초 단계를 다지는 과정이었기 때문에 좋았습니다.

  • 여태 사용하던 Window 가 아닌 Linux 운영체제를 경험할 수 있는 좋은 기회였습니다.

  • 기초 단계다 보니 수업 중간 중간에 집중력이 흐트러지는 경우가 있어 아쉬웠습니다.

  • AWS, Putty, FileZilla, Docker 등 새로운 프로그램들을 조작할 수 있어서 좋았습니다.

  • 리눅스 환경을 다루는데 이전보다 훨씬 간편하고 문제없이 사용할 수 있어서 좋았습니다.

  • AWS 의 서비스를 이용하는데 익숙해지는 과정을 느꼈고, 현재까지 사용했던 환경에 적용하기 위해 (ex. MySQL서버에 등록하기 위해 port 3306 추가, Spring boot 서버를 열기 위해 port 8080 허용) 수정 해야하는 규칙 등을 설정하는 방법을 알게 되었고 좋았습니다.

  • selenium 을 통해 크롤링하고 수집한 데이터를 인코딩 하는 과정을 잠깐 보았는데 인코딩 하는 과정은 처음 봤고 이를 알게 되어서 좋았습니다. Word2Vec 이라는 것에 대해서도 처음 알게되었고 이를 활용할 수 있는 시간이 될 거 같아 만족하였습니다.

  • 앞으로 학습하게 될 많은 빅데이터 관련 환경-프로그램들을 배우는 과정에 대해 좋았고, 이번에 학습한 도커가 앞으로 경험하게 될 많은 환경에서 손 쉽게 환경을 구축할 수 있는 tool 이라는 것을 알게 되어 좋았습니다.

앞으로의 생각 정리

아무래도 새롭게 접하는 내용들이 많아 이전 학습에 대한 복습이 중요하게 생각되고, 앞으로 학습하는데 있어서 집중이 필요하다고 느꼈습니다. 파이썬 을 다루는데 집중 되거나 자바 를 다루는데 집중되었던 이전과 다르게 앞으로는 프로그래밍하는 환경에 익숙해지고 "무엇을 배웠고 어떻게 사용되었으며 왜 이렇게 작성했는 지" 와 같은 탐구 하는 자세가 필요하다고 생각되었습니다.

0개의 댓글